PHP 8.3 programming mutauro kuburitswa

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

Tenga inovimbika yekutambira kwemasaiti ane DDoS dziviriro, VPS VDS maseva πŸ”₯ Tenga webhusaiti yakavimbika ine dziviriro yeDDoS, maseva eVPS VDS | ProHoster