Kamora selemo sa nts'etsopele, ho ile ha hlahisoa tokollo ea puo ea lenaneo la PHP 8.3. Lekala le lecha le kenyelletsa letoto la likarolo tse ncha, hammoho le liphetoho tse 'maloa tse senyang ho lumellana.
Liphetoho tsa bohlokoa ho PHP 8.3:
- Nakong ea cloning ea sehlopha, hoa khoneha ho tsosolosa thepa ka tšobotsi ea "bala feela". Ho fetisa thepa ea ho bala feela ho lumelloa feela ka har'a mosebetsi oa "__clone": readonly class Post { mosebetsi oa sechaba __construct ( public DateTime $createdAt, ) {} mosebetsi oa sechaba __clone () {$ this->createdAt = new DateTime (); // lumelloa le hoja thepa ea "createdAt" e baloa-feela. }}
- Bokhoni ba ho sebelisa li-constants tse nang le matšoao a mofuta ka lihlopha, litšoaneleho le lipalo li fanoe: sehlopha sa Foo { const string BAR = 'baz'; }
- Tšehetso e ekelitsoeng bakeng sa tšobotsi ea "#[Override]", eo moqapi a ka tsebisang mofetoleli hore mokhoa o tšoailoeng o feta mokhoa o itseng oa motsoali. Haeba ho se na phetolo, mofetoleli o tla hlahisa phoso.
- E fetotsoe ho sebetsana le boleng bo fosahetseng joalo ka index ea array. Ka mohlala, ha u eketsa ntho e nang le nomoro "-5" ho sehlopha se se nang letho 'me u eketsa ntho e' ngoe, pele karolo ea bobeli e ne e bolokiloe ka index "0", empa ho tloha ho PHP 8.3 e tla bolokoa ka index "-4" . $leralo = []; $ray[-5] = 'a'; $ray[] = 'b'; var_export($array); // E ne e hlophisitsoe (-5 => 'a', 0 => 'b') // E fetohile lihlopha (-5 => 'a', -4 => 'b')
- E kentse bokhoni ba ho theha lihlopha tse sa tsejoeng ka mokhoa oa ho bala feela: $ sehlopha = sehlopha se secha sa ho bala feela { mosebetsi oa sechaba __construct ( khoele ea sechaba $ foo = 'bar', ) {}};
- E kentse ts'ebetso ea json_validate () ho hlahloba kapele hore na khoele e ka sebopeho sa JSON ntle le ho etsa ts'ebetso ea ho khetholla. json_validate(khoele $json, int $depth = 512, int $flags = 0): bool
- Mekhoa e mecha e kenyelelitsoe sehlopheng sa Randomizer, se fanang ka API ea boemo bo phahameng bakeng sa ho hlahisa linomoro tsa pseudo-random le tatellano: getBytesFromString bakeng sa ho hlahisa khoele ea boholo bo fanoeng, ho sebelisa ka tatellano e sa tloaelehang litlhaku tse teng khoeleng e 'ngoe; getFloat le nextFloat ho hlahisa nomoro ea ntlha e phaphametseng e oelang ka har'a sebaka se boletsoeng.
- E ekelitse bokhoni ba ho khutlisa li-constants ho sebelisa syntax ea sehlopha se matla: sehlopha sa Foo {const BAR = 'bar'; } $lebitso = 'BAR'; // Nakong e fetileng, ho khutlisa BAR kamehla, o ne o tlameha ho letsetsa kamehla (Foo:: sehlopha. '::' . $lebitso); // Joale hlakisa feela Foo::{$name};
- Keketseho ea mekhelo ea batho ka bomong (DateMalformedIntervalStringException, DateInvalidOperationException, DateRangeError) haeba ho na le mathata a hlahang ts'ebetsong e sebetsanang le matsatsi le nako.
- Ts'ebetso e ntlafetseng ea liphoso tse hlahang nakong ea ha ho arola lintlha tse sa lekanyetsoang ho ts'ebetso ea unserialize(). Ha ho na le mathata, unserialize() e fana ka E_WARNING sebakeng sa E_NOTICE.
- Liphetoho li entsoe mosebetsing oa range(). Mokhelo o hlahisoa ha u leka ho fetisa lintho, lisebelisoa kapa lihlopha ka mefuta-futa e hlalosang meeli ea mefuta-futa, hammoho le ha u hlalosa boleng bo bobe ho $ mohato oa parameter kapa boleng bo sa hlalosoang ho parameter leha e le efe. Hona joale lethathamo la litlhaku le ka hlahisoa ha ho hlalosoa likhoele ho fapana le linomoro (mohlala, "range('5', 'z')").
- E fetotse boitšoaro ba libopeho tse nang le static properties, tse seng li phahametse thepa e tsitsitseng e futsitsoeng ho tsoa sehlopheng sa motsoali.
- Litlhophiso tse kentsoeng bakeng sa tšireletso ea stack overflow. Litaelo tsa zend.max_allowed_stack_size le zend.reserved_stack_size li kentsoe faeleng ea ini, e hlalosang boholo bo lumelletsoeng le boholo bo boloketsoeng. Lenaneo le tla senyeha ha le atamela ho felloa ke matla ha stack, ha stack e tletse ho feta phapang pakeng tsa zend.max_allowed_stack_size le zend.reserved_stack_size (phetho e tla emisa pele ho hlaha phoso ea likarolo). Ka kamehla, boleng ba zend.max_allowed_stack_size bo behiloe ho 0 (0-boholo bo ikemiselitsoe ka bohona; ho tima moeli, o ka o beha ho -1).
- E kentse mesebetsi e mecha ea POSIX posix_sysconf(), posix_pathconf(), posix_fpathconf() le posix_eaccess().
- Mosebetsi oa mb_str_pad o kentsoe, e leng analogue ea str_pad () string function, e etselitsoeng ho sebetsa ka li-encodings tse ngata tse kang UTF-8.
- E u lumella ho etsa likoallo ho tloha mekhoeng le ho fetisa likhang tse reheletsoeng ho li koala tseo. $teko = Teko e ncha (); $ koala = $ teko-> boselamose(…); $ho koala(a: 'hello', b: 'lefatše');
- Boitšoaro bo fetotsoeng ha u sebetsana le ponahalo ea li-constants ho li-interfaces. segokahanyi I {public const FOO = 'foo'; } lisebelisoa tsa sehlopha sa C I {private const FOO = 'foo'; }
- Bokhoni ba mesebetsi ea array_sum(), array_product(), posix_getrlimit(), gc_status(), class_alias(), mysqli_poll(), array_pad() le proc_get_status() mesebetsi e atolositsoe.
- Bokhoni ba ho fetisa boleng bo bobe ba $widths ho mb_strimwidth() bo tlositsoe. The NumberFormatter::TYPE_CURRENCY constant e tlositswe. Ts'ehetso ea ho letsetsa ldap_connect() ts'ebetso e nang le liparamente tse peli $host le $port e khaotsoe. Opcache.consistency_checks setting e tlositsoe.
Source: opennet.ru
