Às deidh bliadhna de leasachadh, chaidh foillseachadh cànan prògramadh PHP 8.3 a thaisbeanadh. Tha am meur ùr a’ toirt a-steach sreath de fheartan ùra, a bharrachd air grunn atharrachaidhean a bhriseas co-chòrdalachd.
Prìomh atharrachaidhean ann am PHP 8.3:
- Rè clonadh clas, tha e comasach togalaichean ath-thòiseachadh leis a’ fheart “readonly”. Chan fhaodar a dhol thairis air togalaichean leughaidh a-mhàin ach taobh a-staigh an gnìomh “__clone”: clas leughaidh a-mhàin Post { gnìomh poblach __construct( poblach DateTime $createdAt, ) {} gnìomh poblach __clone () { $this->createdAt = DateTime ùr (); // ceadaichte ged a tha an togalach “createdAt” ri leughadh a-mhàin. } }
- Chaidh comas air taisbeanairean a chleachdadh le comharra-seòrsa ann an clasaichean, feartan agus àireamhachd a thoirt seachad: clas Foo { const string BAR = 'baz'; }
- Taic a bharrachd don fheart “#[Override]”, leis an urrainn don leasaiche innse don eadar-theangair gu bheil an dòigh comharraichte a’ dol thairis air dòigh pàrant air choireigin. Mura h-eil cus ann, seallaidh an t-eadar-theangair mearachd.
- Làimhseachadh atharraichte air luachan àicheil mar chlàr-amais array. Mar eisimpleir, nuair a chuireas tu eileamaid leis an àireamh “-5” ri raon falamh agus a ’cur eileamaid eile ris, roimhe seo chaidh an dàrna eileamaid a shàbhaladh le clàr-amais“ 0 ”, ach a’ tòiseachadh bho dhreach PHP 8.3 thèid a shàbhaladh le clàr-amais “-4” . $array = []; $array[-5] = 'a'; $array[] = 'b'; var_export ($ array); // Bha e na raon (-5 => 'a', 0 => 'b') // Thàinig e gu bhith na raon (-5 => 'a', -4 => 'b')
- Chuir sinn ris a’ chomas air clasaichean gun urra a chruthachadh sa mhodh leughaidh a-mhàin: $class = clas leughaidh a-mhàin ùr { gnìomh poblach __construct( sreang poblach $ foo = ‘bàr’, ) {} };
- Gnìomh json_validate() air a chur ris gus dèanamh cinnteach gu sgiobalta a bheil sreang ann an cruth JSON gun a bhith a’ coileanadh gnìomhachd dì-chòdaidh. json_validate(sreang $ json, int $depth = 512, int $flags = 0): bool
- Chaidh dòighean ùra a chur ris a’ chlas Randomizer, a tha a’ toirt seachad API àrd-ìre airson àireamhan agus sreathan meallta a ghineadh: getBytesFromString airson sreang de mheud sònraichte a ghineadh, a’ cleachdadh nan caractaran a tha an làthair ann an sreath eile ann an òrdugh air thuaiream; getFloat agus nextFloat gus àireamh puing-fleòdraidh air thuaiream a ghineadh a tha taobh a-staigh an raon ainmichte.
- Chuir sinn ris a’ chomas air cuibhlichean fhaighinn air ais a’ cleachdadh co-chòrdadh clas fiùghantach: clas Foo { const BAR = ‘bar’; } $name = 'BAR'; // Roimhe sin, gus an seasmhach BAR fhaighinn air ais, dh'fheumadh tu seasmhach a ghairm (Foo::class . '::' . $name); // A-nis dìreach sònraich Foo::{$name};
- Ginealach a bharrachd de eisgeachdan fa leth (DateMalformedIntervalStringException, DateInvalidOperationException, DateRangeError) gun fhios nach èirich duilgheadasan ann an gnìomhachd ag obair le cinn-latha agus àm.
- Làimhseachadh nas fheàrr air mearachdan a thachras nuair a thathar a’ parsadh dàta sreathach anns a’ ghnìomh unserialize(). Ma tha duilgheadasan ann, cuir unserialize () a-nis a-mach E_WARNING an àite E_NOTICE.
- Chaidh atharrachaidhean a dhèanamh air an raon () gnìomh. Bithear a’ cruthachadh eisgeachd nuair a thathar a’ feuchainn ri nithean, goireasan no rèitichean a thoirt seachad ann an caochladairean a tha a’ mìneachadh crìochan raoin, a bharrachd air nuair a thathar a’ sònrachadh luach àicheil ann am paramadair $step no luach neo-mhìnichte ann am paramadair sam bith. Faodar liosta de charactaran a thoirt a-mach a-nis nuair a bhios tu a’ sònrachadh sreangan an àite àireamhan (mar eisimpleir, “raon (’5’, ‘z’) ).
- Dh’ atharraich giùlan feartan le feartan statach, a tha a-nis a’ dol thairis air togalaichean statach a fhuair iad bhon chlas phàrant.
- Suidhichidhean a bharrachd airson dìon thar-shruth cruachan. Chaidh na stiùiridhean zend.max_allowed_stack_size agus zend.reserved_stack_size a chur ris an fhaidhle ini, a’ mìneachadh meud an stac as àirde a tha ceadaichte agus glèidhte. Tuitidh am prògram nuair a thig e faisg air sgàineadh stac, nuair a bhios an stac làn nas motha na an diofar eadar zend.max_allowed_stack_size agus zend.reserved_stack_size (stadaidh an coileanadh mus tachair locht sgaraidh). Gu gnàthach, tha an luach zend.max_allowed_stack_size air a shuidheachadh gu 0 (0 - tha am meud air a dhearbhadh gu fèin-ghluasadach; gus an cuingealachadh a chuir dheth, faodaidh tu a shuidheachadh gu -1).
- Chaidh gnìomhan POSIX ùra a chur ris posix_sysconf (), posix_pathconf (), posix_fpathconf () agus posix_eaccess ().
- Chaidh an gnìomh mb_str_pad a chur ris, a tha na analogue den ghnìomh sreang str_pad(), air a dhealbhadh gus obrachadh le còdachadh ioma-baidht leithid UTF-8.
- A’ leigeil leat dùnadh a chruthachadh bho dhòighean-obrach agus argamaidean ainmichte a thoirt seachad gu na dùnadh sin. $test = Deuchainn ùr(); $closure = $test->magic(…); $closure(a: 'hello', b: 'saoghal');
- Giùlan atharraichte nuair a bhios tu a’ làimhseachadh faicsinneachd seasmhach ann an eadar-aghaidh. eadar-aghaidh I { public const FOO = 'foo'; } clas C a' cur an gnìomh I { private const FOO = 'foo'; }
- Chaidh comasan nan gnìomhan array_sum (), array_product (), posix_getrlimit (), gc_status (), class_alias (), mysqli_poll (), array_pad () agus proc_get_status () a leudachadh.
- Chan eil an comas air luach $widths àicheil a thoirt seachad gu mb_strimwidth() air a mholadh. Chaidh an seasmhach àireamh::TYPE_CURRENCY seasmhach a thoirt air falbh. Chaidh stad a chuir air taic airson an gnìomh ldap_connect() a ghairm le dà pharamadair $ host agus $port. Chaidh an suidheachadh opcache.consistency_checks a thoirt air falbh.
Source: fosgailtenet.ru