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 PHP 8:
- , aplikimi i të cilit do të lejojë rritjen e performancës.
- 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 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 , që përcaktojnë koleksione nga dy ose më shumë lloje (për shembuj «public function foo(Foo|Bar $input): int|float;»).
- Mbështetje (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 , 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»,
}; - e definimeve të klasave, që lejon bashkimin e definimit të konstruktorit dhe vetive.
- Tipi i ri i vlerave tĂ« kthyer â .
- Tipi i ri â , qĂ« mund tĂ« pĂ«rdoret pĂ«r tĂ« pĂ«rcaktuar marrjen nga funksioni tĂ« parametrave me lloje tĂ« ndryshme.
- Shprehja për trajtimin e përjashtimeve.
- 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).
- përdorimi i shprehjes «::class» për objekte (analog me thirrjen e get_class()).
- definimi në bllokun catch të përjashtimeve, që nuk lidhen me variablat.
- lënia e simbolit të presjes pas elementit të fundit në listën e parametrave të funksionit.
- Ndërfaqja e re 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 , 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 , e cila kryen operacionin e ndarjes pa nxjerrë një gabim në rastin e ndarjes me zero.
- 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)â.
- kontrolli i operacioneve aritmetike dhe bitore, për shembuj, shprehjet «[] % [42]» dhe «$object + 4» do të çojnë në një gabim.
- algoritmi stabil i renditjes, ku gjatë ekzekutimeve të ndryshme ruhet rendi i ndjekjes së vlerave të njëjta.
Burimi: opennet.ru
