Ka filluar testimi beta i PHP 8

Presented lëshimi i parë beta i degës së re të gjuhës së programimit PHP 8. Publikimi pritet më 26 nëntor. Në të njëjtën kohë 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 siguritë e akumuluara.

Main innovations PHP 8:

  • Futja e JIT-kompilatorit, aplikimi i tĂ« cilit do tĂ« lejojĂ« rritjen e performancĂ«s.
  • MbĂ«shtetje argumenteve tĂ« emĂ«ruar tĂ« funksioneve, tĂ« cilat lejojnĂ« kalimin e vlerave nĂ« funksion duke u lidhur me emrat, dmth, mund tĂ« kaloni argumentet nĂ« rend tĂ« rastĂ«sishĂ«m dhe tĂ« pĂ«rcaktoni argumentet e panevojshme. PĂ«r shembull, «array_fill(start_index: 0, num: 100, value: 50)».
  • Kur thirren metodat lejohet pĂ«rdorimi i operatorit «?», i cili lejon iniciimin e thirrjes vetĂ«m nĂ«se metoda Ă«shtĂ« e pranishme, duke shmangur kĂ«shtu kontrollet e panevojshme pĂ«r kthimin e vlerĂ«s «null». PĂ«r shembull, «$dateAsString = $booking->getStartDate()?->asDateTimeString()»;
  • MbĂ«shtetje tipet unioni, qĂ« pĂ«rcaktojnĂ« koleksione nga dy ose mĂ« shumĂ« lloje (pĂ«r shembuj «public function foo(Foo|Bar $input): int|float;»).
  • MbĂ«shtetje atributet (annotation), qĂ« lejojnĂ« lidhjen e metadatave (pĂ«r shembuj, informacioni mbi llojet) me klasat pa pĂ«rdorur sintaksĂ«n Docblock.
  • MbĂ«shtetje pĂ«r shprehjet match, tĂ« cilat ndryshe nga switch mund tĂ« kthejnĂ« vlera, mbĂ«shtesin kombinimin e kushteve, pĂ«rdorin krahasim tĂ« rreptĂ« tĂ« tipeve dhe nuk kĂ«rkojnĂ« pĂ«rcaktimin e «break».

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

  • Sintaksa e shkurtuar e definimeve tĂ« klasave, qĂ« lejon bashkimin e definimit tĂ« konstruktorit dhe vetive.
  • Tipi i ri i vlerave tĂ« kthyer — static.
  • Tipi i ri — mixed, qĂ« mund tĂ« pĂ«rdoret pĂ«r tĂ« pĂ«rcaktuar marrjen nga funksioni tĂ« parametrave me lloje tĂ« ndryshme.
  • Shprehja throw pĂ«r trajtimin e pĂ«rjashtimeve.
  • WeakMap pĂ«r krijimin e objekteve, tĂ« cilat mund tĂ« sakrifikohen gjatĂ« mbledhjes sĂ« plehrave (pĂ«r shembuj, pĂ«r tĂ« mbajtur cache tĂ« opsionalĂ«ve).
  • MundĂ«sia pĂ«rdorimi i shprehjes «::class» pĂ«r objekte (analog me thirrjen e get_class()).
  • MundĂ«sia definimi nĂ« bllokun catch tĂ« pĂ«rjashtimeve, qĂ« nuk lidhen me variablat.
  • MundĂ«sia lĂ«nia e simbolit tĂ« presjes pas elementit tĂ« fundit nĂ« listĂ«n e parametrave tĂ« funksionit.
  • NdĂ«rfaqja e re Stringable pĂ«r identifikimin e çdo lloji ose tĂ« dhĂ«nash string tĂ« cilat mund tĂ« konvertohen nĂ« string (pĂ«r tĂ« cilat Ă«shtĂ« e disponueshme metoda __toString()).
  • Funksioni i ri str_contains(), njĂ« analog i thjeshtuar i strpos pĂ«r tĂ« pĂ«rcaktuar praninĂ« e nĂ«ndheshĂ«s, si dhe funksionet str_starts_with() dhe str_ends_with() pĂ«r tĂ« verifikuar pĂ«rputhshmĂ«ritĂ« nĂ« fillim dhe nĂ« fund tĂ« strings.
  • Shtuar funksionin fdiv(), e cila kryen operacionin e ndarjes pa nxjerrĂ« njĂ« gabim nĂ« rastin e ndarjes me zero.
  • E modifikuar logjika e bashkimit tĂ« strings. PĂ«r shembuj, 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)’.
  • E rritur kontrolli i operacioneve aritmetike dhe bitore, pĂ«r shembuj, shprehjet «[] % [42]» dhe «$object + 4» do tĂ« çojnĂ« nĂ« njĂ« gabim.
  • Ă«shtĂ« realizuar algoritmi stabil i renditjes, ku gjatĂ« ekzekutimeve tĂ« ndryshme ruhet rendi i ndjekjes sĂ« vlerave tĂ« njĂ«jta.
  • Burimi: opennet.ru

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