PHP 8.3 fa'alauiloa gagana fa'apolokalame

Ina ua maeʻa le tausaga o le atinaʻe, na tuʻuina atu le faʻasalalauga o le PHP 8.3 gagana polokalame. O le lala fou e aofia ai se faasologa o foliga fou, faʻapea foʻi ma le tele o suiga e motusia le fetaui.

Suiga autu ile PHP 8.3:

  • I le taimi o le fa'avasegaina o vasega, e mafai ona toe fa'afouina meatotino ma le uiga "na'o le faitau". O lo'o fa'asili mea na'o le faitau e fa'atagaina na'o totonu o le "__clone" galuega: readonly vasega Post { galuega lautele __construct( public DateTime $createdAt, ) {} public function __clone() { $this->createdAt = new DateTime(); // faatagaina e ui lava o le "createdAt" meatotino e faitau-na'o. }}
  • O le mafai ona fa'aoga fa'amaumau fa'atasi ai ma fa'ailoga fa'ailoga i vasega, uiga ma fa'amaumauga ua tu'uina atu: vasega Foo { const string BAR = 'baz'; }
  • Fa'aopoopo le lagolago mo le uiga "#[Override]", lea e mafai ai e le tagata atia'e ona fa'ailoa i le fa'aliliu upu o le metotia ua fa'ailogaina e fa'asili ai nisi metotia matua. Afai e leai se fa'asili, o le a fa'aalia e le fa'aliliu upu se mea sese.
  • Suia le taulimaina o tau le lelei e pei o se fa'asologa o fa'asologa. Mo se faʻataʻitaʻiga, pe a faʻaopoopo se elemene ma le numera "-5" i se laina avanoa ma faʻaopoopo se isi elemene, muamua o le elemene lona lua na faʻasaoina i le faʻamaufaʻailoga "0", ae amata mai le PHP 8.3 o le a faʻasaoina i le faʻailoga "-4" . $array = []; $array[-5] = 'a'; $array[] = 'b'; var_export($array); // Sa fa'asologa (-5 => 'a', 0 => 'b') // Na avea ma fa'asologa (-5 => 'a', -4 => 'b')
  • Fa'aopoopoina le agava'a e fa'atupu ai vasega lē ta'ua i le faitau na'o le faiga: $class = new readonly class { public function __construct( public string $foo = 'bar', ) {} };
  • Faʻaopoopo le json_validate() galuega e siaki vave pe o se manoa o loʻo i le JSON format e aunoa ma le faʻatinoina o gaioiga faʻavasega. json_validate( manoa $json, int $depth = 512, int $flags = 0): bool
  • O metotia fou ua faʻaopoopoina i le vasega Randomizer, lea e maua ai se API maualuga mo le faʻatupuina o numera pseudo-random ma faʻasologa: getBytesFromString mo le faʻatupuina o se manoa o se lapoʻa tuʻufaʻatasia, faʻaaoga i le faasologa faʻafuaseʻi o mataitusi o loʻo i ai i se isi manoa; getFloat ma nextFloat e fa'atupu ai se numera fa'afefete fa'ato'a e pa'u i totonu o le laina fa'atonu.
  • Fa'aopoopoina le tomai e toe maua mai ai fa'amaumau e fa'aaoga ai le fa'asologa o vasega fa'amalosi: vasega Foo { const BAR = 'bar'; } $igoa = 'BAR'; // I le taimi muamua, e toe aumai le BAR constant, e tatau ona e valaʻau tumau(Foo::class . '::' . $name); // Fa'atoa fa'ailoa mai Foo::{$name};
  • Fa'aopoopo le fa'atupuina o tuusaunoaga ta'ito'atasi (DateMalformedIntervalStringException, DateInvalidOperationException, DateRangeError) pe a iai ni fa'afitauli e tula'i mai i fa'agaioiga o lo'o galue i aso ma taimi.
  • Fa'aleleia atili le taulimaina o mea sese e tutupu a'o fa'avasegaina fa'amaumauga fa'asologa i le galuega unserialize(). I tulaga o fa'afitauli, unserialize() ua tu'uina atu nei E_WARNING nai lo le E_NOTICE.
  • Ua faia suiga ile vaega() galuega. E faia se tuusaunoaga pe a taumafai e pasi mea faitino, punaoa poʻo arrays i fesuiaiga e faʻamalamalamaina tuaoi lautele, faʻapea foʻi ma pe a faʻamaonia se tau le lelei i le $step parameter poʻo se tau le faʻamalamalamaina i soʻo se parakalafa. O se lisi o mataitusi e mafai nei ona fa'aalia pe a fa'amaoti manoa nai lo numera (mo se fa'ata'ita'iga, "range('5', 'z')").
  • Suia le amio o uiga ma meatotino tumau, lea ua fa'asolo nei mea fa'amaumau na tuufaasolo mai le vasega matua.
  • Fa'aopoopo tulaga mo le puipuiga o le fa'aputuga. O le zend.max_allowed_stack_size ma le zend.reserved_stack_size faatonuga ua faʻaopoopoina i le faila faila, faʻamalamalamaina le maualuga e faʻatagaina ma faʻapolopolo le tele o faaputuga. O le a paʻu le polokalame pe a latalata atu i le faʻaputuga vaivai, pe a tumu le faaputuga e sili atu nai lo le eseesega i le va o le zend.max_allowed_stack_size ma le zend.reserved_stack_size (o le a taofi le faʻataunuʻuina aʻo leʻi tupu se faʻaletonu vaega). Ona o le faaletonu, o le zend.max_allowed_stack_size tau ua setiina i le 0 (0-o le tele e fuafua otometi; e faʻamalo le tapulaʻa, e mafai ona e seti i le -1).
  • Fa'aopoopo galuega POSIX fou posix_sysconf(), posix_pathconf(), posix_fpathconf() ma posix_eaccess().
  • O le galuega mb_str_pad ua faʻaopoopoina, o se faʻatusa o le str_pad () string function, ua fuafuaina e galue i le tele-byte encodings pei ole UTF-8.
  • Fa'ataga oe e fai tapuni mai metotia ma fa'aigoaina finauga i na tapuni. $test = fou Su'ega(); $closure = $test->fa'ataulāitu(...); $closure(a: 'alofa', b: 'lalolagi');
  • Suia le amio pe a taulimaina le vaʻaia o mea tumau i fesoʻotaʻiga. interface I { public const FOO = 'foo'; } vasega C fa'atino I { private const FOO = 'foo'; }
  • O le gafatia o le array_sum(), array_product(), posix_getrlimit(), gc_status(), class_alias(), mysqli_poll(), array_pad() ma proc_get_status() galuega tauave ua faalauteleina.
  • Le mafai ona pasi se $widths le lelei tau i le mb_strimwidth() ua le toe faaaogaina. Ole NumberFormatter::TYPE_CURRENCY tumau ua aveese. Lagolago mo le vala'au o le ldap_connect() galuega fa'atasi ma ta'iala e lua $host ma $port ua fa'agata. O le opcache.consistency_checks seti ua aveese.

puna: opennet.ru

Faaopoopo i ai se faamatalaga