Ka filluar testimi beta i PHP 8

Të paraqitura lëshimi i parë beta i degës së re të gjuhës së programimit PHP 8. Lëshimi planifikohet më 26 nëntor. Njëkohësisht janë formuar lëshime korrigjuese për PHP 7.4.9, 7.3.21 dhe
7.2.33, në të cilat janë eliminuar gabimet dhe vulnerabilitetet e akumuluara.

Ndryshimet kryesore risitë PHP 8:

  • Aktivizimi i kompilerit JIT, pĂ«rdorimi i tĂ« cilit do tĂ« mundĂ«sojĂ« rritjen e performancĂ«s.
  • MbĂ«shtetje argumenteve tĂ« emĂ«ruara tĂ« funksioneve, qĂ« lejojnĂ« tĂ« kalohen vlera nĂ« funksion lidhur me emrat, dmth. mund tĂ« kalohen argumentet nĂ« rend tĂ« rastĂ«sishĂ«m dhe tĂ« pĂ«rcaktohen argumente opsionale. PĂ«r shembull, «array_fill(start_index: 0, num: 100, value: 50)».
  • Kur thirren metodet u lejohet pĂ«rdorimi i operatorit «?», qĂ« lejon iniciimin e thirrjes vetĂ«m nĂ«se metoda Ă«shtĂ« e pranishme, duke shmangur kĂ«shtu kontrollimet e tepĂ«rta pĂ«r kthimin e vlerĂ«s «null». PĂ«r shembull, «$dateAsString = $booking->getStartDate()?->asDateTimeString()»;
  • MbĂ«shtetje tipet union, qĂ« pĂ«rcaktojnĂ« koleksione tĂ« dy ose mĂ« shumĂ« tipeve (pĂ«r shembull «public function foo(Foo|Bar $input): int|float;»).
  • MbĂ«shtetje atributĂ«ve (annotations), qĂ« lejojnĂ« lidhjen e metadatas (pĂ«r shembull, informacion mbi tipet) me klasat pa pĂ«rdorur sintaksĂ«n Docblock.
  • MbĂ«shtetje pĂ«r shprehjet pĂ«rputhje, tĂ« cilat, pĂ«r dallim nga switch, mund tĂ« kthejnĂ« vlera, mbĂ«shtesin kombinimin e kushteve, pĂ«rdorin krahasimin strik tĂ« tipeve dhe nuk kĂ«rkojnĂ« pĂ«rcaktimin e «break».

    $result = match($input) {
    0 => «hello»,
    ‘1’, ‘2’, ‘3’ => «world»,
    };

  • Sintaksa e shkurtuar e pĂ«rcaktimit tĂ« klasave, qĂ« lejon bashkimin e definicionit tĂ« konstruktori me atributet.
  • Lloji i ri i vlerave tĂ« kthimit — static.
  • Lloji i ri — mixed, i cili mund tĂ« pĂ«rdoret pĂ«r tĂ« pĂ«rcaktuar marrjen e parametrave me tipe tĂ« ndryshme nga funksioni.
  • Shprehja throw pĂ«r trajtimin e pĂ«rjashtimeve.
  • WeakMap pĂ«r krijimin e objekteve qĂ« mund tĂ« sakrifikohen gjatĂ« pastrimit tĂ« plehrave (pĂ«r shembull, pĂ«r ruajtjen e memorieve tĂ« tepĂ«rta).
  • MundĂ«sia pĂ«rdorimi i shprehjes «::class» pĂ«r objekte (analog i thirrjes get_class()).
  • MundĂ«sia pĂ«rcaktimi nĂ« bllokun catch tĂ« pĂ«rjashtimeve, qĂ« nuk janĂ« tĂ« lidhura me variablat.
  • MundĂ«sia lĂ«nia e simboleve tĂ« presjes pas elementit tĂ« fundit nĂ« listĂ«n e parametrave tĂ« funksionit.
  • NdĂ«rfaqja e re Stringable pĂ«r identifikimin e çdo tipi ose tĂ« dhĂ«nash tĂ« vargut, tĂ« cilĂ«t mund tĂ« konvertohen nĂ« varg (pĂ«r tĂ« cilĂ«t Ă«shtĂ« nĂ« dispozicion metoda __toString()).
  • Funksioni i ri str_contains(), njĂ« analog i thjeshtuar i strpos pĂ«r identifikimin e pĂ«rmbajtjes sĂ« nĂ«nvargut, si dhe funksionet str_starts_with() dhe str_ends_with() pĂ«r tĂ« verifikuar pĂ«rputhjet nĂ« fillim dhe nĂ« fund tĂ« vargut.
  • Shtesa e funksionit fdiv(), qĂ« kryen operacionin e ndarjes pa nxjerrĂ« njĂ« gabim nĂ« rast ndarjeje me zero.
  • ËshtĂ« ndryshuar logjika e lidhjes sĂ« vargjeve. PĂ«r shembull, shprehja ‘echo «sum: » . $a + $b’ mĂ« parĂ« interpretohej si ‘echo («sum: » . $a) + $b’, ndĂ«rsa nĂ« PHP 8 do tĂ« trajtohet si ‘echo «sum: » . ($a + $b)’.
  • Ngritur kontrolli i operacioneve aritmetike dhe bitore, pĂ«r shembuj, shprehjet «[] % [42]» dhe «$object + 4» do tĂ« sjellin njĂ« gabim.
  • E realizuar algoritmi i qĂ«ndrueshĂ«m pĂ«r renditjen, nĂ« tĂ« cilin nĂ« herĂ« tĂ« ndryshme ruhet rendi i tĂ« njĂ«jtave vlera.
  • Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster