Mushure megore rebudiriro, kuburitswa kweiyo PHP 8.3 programming mutauro kwakaunzwa. Bazi idzva rinosanganisira nhevedzano yezvinhu zvitsva, pamwe neshanduko dzakati wandei dzinoputsa kuenderana.
Shanduko dzakakosha muPHP 8.3:
- Munguva yekirasi cloning, zvinokwanisika kudzorera zvivakwa ne "readonly" hunhu. Kuwedzeredza zvivakwa zvekuverenga chete kunobvumidzwa mukati me "__clone" basa: kuverenga chete kirasi Post {basa revanhu __kuvaka (paruzhinji DateTime $createdAt, ) {} basa reruzhinji __clone() {$this->createdAt = new DateTime(); // inobvumirwa kunyangwe iyo "createdAt" pfuma inoverengwa-chete. }}
- Iko kukwanisa kushandisa zvigadziriso nemhando yechiratidzo mumakirasi, hunhu uye kuverenga kwakapihwa: kirasi Foo { const tambo BAR = 'baz'; }
- Yakawedzerwa rutsigiro rwechimiro cheβ#[Override]β, icho mugadziri anogona kuzivisa muturikiri kuti nzira yakamaka inodarika imwe nzira yevabereki. Kana pasina kudarika, muturikiri anoratidza kukanganisa.
- Yakashandurwa kubata kwehutsika husina kunaka senge array index. Semuenzaniso, kana uchiwedzera chinhu chine nhamba "-5" kune isina chinhu uye uchiwedzera chimwe chinhu, chaimbova chechipiri chakachengetedzwa nendekisi "0", asi kutanga kubva mushanduro PHP 8.3 ichachengetwa ne index "-4" . $array = []; $rayi[-5] = 'a'; $array[] = 'b'; var_export($ array); // Yaiva mitsara (-5 => 'a', 0 => 'b') // Yakava mitsara (-5 => 'a', -4 => 'b')
- Yakawedzera kugona kugadzira makirasi asingazivikanwe mukuverenga-chete modhi: $kirasi = nyowani yekuverenga chete kirasi {basa reruzhinji __construct(ruzhinji tambo $foo = 'bar', ) {}};
- Yakawedzerwa json_validate() basa rekukurumidza kutarisa kana tambo iri muJSON fomati isina kuita maoresheni ekunyora. json_validate(tambo $json, int $depth = 512, int $flags = 0): bool
- Nzira itsva dzakawedzerwa kukirasi yeRandomizer, iyo inopa API yepamusoro-soro yekugadzira nhamba dzepseudo-random uye sequences: getBytesFromString yekugadzira tambo yehukuru hwakapiwa, uchishandisa munheyo yakarongwa mavara aripo mune imwe tambo; getFloat uye inoteveraFloat kuti igadzire isina kutenderera inoyangarara point nhamba inowira mukati meiyo yakatarwa.
- Yakawedzera kugona kudzoreredza zvigadziriso uchishandisa dynamic class syntax: kirasi Foo {const BAR = 'bar'; } $zita = 'BAR'; // Kare, kuti utorezve BAR nguva dzose, waifanira kufona nguva dzose (Foo::kirasi. '::' . $zita); // Zvino chingotsanangura Foo::{$name};
- Yakawedzerwa chizvarwa chezvisizvo zvega (DateMalformedIntervalStringException, DateInvalidOperationException, DateRangeError) kana paine matambudziko anomuka mukushanda nemazuva nenguva.
- Kuvandudzwa kwekubata kwekukanganisa kunoitika panguva yekupatsanurwa kweseriized data mune unserialize() basa. Kana zvanetsa, unserialize() zvino inopa E_WARNING pachinzvimbo cheE_NOTICE.
- Shanduko dzakaitwa kune range() basa. Kusarudzika kunogadzirwa paunenge uchiedza kupfuudza zvinhu, zviwanikwa kana mitsara mumhando dzakasiyana-siyana dzinotsanangura miganhu yemhando, pamwe nekutsanangura kukosha kwakashata mu $ nhanho parameter kana kukosha kusingazivikanwe mune chero parameter. Rondedzero yemavara inogona ikozvino kubuda kana uchitsanangura tambo pachinzvimbo chenhamba (semuenzaniso, "range('5', 'z')").
- Akachinja maitiro ehunhu ane static properties, izvo zvino zvinodarika static properties zvakagarwa nhaka kubva kuvabereki kirasi.
- Akawedzera marongero ekudzivirira mafashama. Iyo zend.max_allowed_stack_size uye zend.reserved_stack_size mirairo yakawedzerwa kune ini faira, ichitsanangura iyo yakanyanya kubvumidzwa uye yakachengetwa stack size. Iyo purogiramu ichaparara kana yaswedera kuneta kuneta, kana stack yazara kupfuura musiyano pakati zend.max_allowed_stack_size uye zend.reserved_stack_size (kuurayiwa kunomira kusati kwaitika kukanganisa kwechikamu). By default, the zend.max_allowed_stack_size value inoiswa ku0 (0-saizi inotarwa otomatiki; kudzima iyo inogumira, unogona kuseta ku -1).
- Yakawedzera mabasa matsva ePOSIX posix_sysconf(), posix_pathconf(), posix_fpathconf() uye posix_eaccess().
- Iyo mb_str_pad basa rakawedzerwa, inova analogue ye str_pad () tambo basa, rakagadzirirwa kushanda neakawanda-byte encodings akadai UTF-8.
- Inokutendera iwe kuti ugadzire kuvharika kubva kunzira uye kupfuudza mazita emakakatanwa kune iwo mavharo. $ bvunzo = mutsva Muedzo(); $ kuvharwa = $ bvunzo-> mashiripiti (β¦); $kuvharwa(a:'mhoroi', b: 'nyika');
- Shanduko maitiro kana uchibata kuoneka kwemaconstants mumainterfaces. interface I {public const FOO = 'foo'; } kirasi C zvishandiso I { private const FOO = 'foo'; }
- Kugona kweiyo array_sum(), array_product(), posix_getrlimit(), gc_status(), class_alias(), mysqli_poll(), array_pad() uye proc_get_status() mabasa akawedzerwa.
- Iko kugona kupfuudza yakashata $widths kukosha kune mb_strimwidth() kwadzikiswa. The NumberFormatter::TYPE_CURRENCY constant yabviswa. Tsigiro yekufonera ldap_connect() basa rine maviri paramita $host uye $port ramiswa. Opcache.consistency_checks setting yabviswa.
Source: opennet.ru
