Sgaoileadh cànain prògramaidh PHP 8.2

Às deidh bliadhna de leasachadh, chaidh foillseachadh cànan prògramadh PHP 8.2 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 leasachaidhean ann am PHP 8.2:

  • Chuir sinn ris a’ chomas clas a chomharrachadh mar leughadh a-mhàin. Chan urrainnear togalaichean ann an clasaichean mar sin a shuidheachadh ach aon turas, às deidh sin cha bhith iad rim faighinn airson atharrachadh. Roimhe sin, dh’ fhaodadh feartan clas fa leth a bhith air an comharrachadh leughaidh a-mhàin, ach a-nis faodaidh tu am modh seo a thionndadh airson a h-uile togalach clas aig an aon àm. Le bhith a’ sònrachadh a’ bhratach “leughaidh a-mhàin” aig ìre a’ chlas cuideachd a’ cur bacadh air feartan a bharrachd air a’ chlas. Post clas leughaidh a-mhàin { gnìomh poblach __construct ( sreang phoblach $title, Ùghdar poblach $ ùghdar, ) {} } $ post = Post ùr (/* ... */); $post->unknown = 'ceàrr'; // Mearachd: Cha ghabh seilbh fiùghantach a chruthachadh Post::$unknown
  • Chaidh seòrsaichean eadar-dhealaichte a chur ris “fìor”, “meallta” agus “null”, nach urrainn ach aon luach dligheach a ghabhail agus a thathas a’ cleachdadh, mar eisimpleir, gus gnìomh a thilleadh le bratach crìochnachaidh mearachd no luach falamh. Roimhe sin, cha ghabhadh “fìor”, “meallta” agus “null” a chleachdadh ach ann an co-bhonn ri seòrsachan eile (mar eisimpleir, “string | meallta”), ach a-nis faodar an cleachdadh air leth: gnìomh an-còmhnaidh False (): meallta {tilleadh meallta ; }
  • Cho fad ‘s a tha e comasach suidheachaidhean mothachail a shìoladh ann an toradh lorg stac aig àm mearachd. Dh’ fhaodadh gum feumar fiosrachadh sònraichte a ghearradh a-mach nuair a thèid fiosrachadh mu mhearachdan a tha a’ tachairt a chuir gu fèin-ghluasadach gu seirbheisean treas-phàrtaidh a bhios a’ cumail sùil air duilgheadasan agus a bheir fiosrachadh do luchd-leasachaidh mun deidhinn. Mar eisimpleir, faodaidh tu crìochan a chuir a-mach às an lorg a tha a’ toirt a-steach ainmean-cleachdaidh, faclan-faire, agus caochladairean àrainneachd. deuchainn gnìomh ($ foo, #[\ SensitiveParameter] $ password, $baz ) { tilg eisgeachd ùr ('Mearachd'); } deuchainn ('foo', 'facal-faire', 'baz'); Mearachd mharbhtach: Neo-ghlacadh Eisimpleir: Mearachd ann an test.php:8 Lorg cruachan: #0 test.php(11): test ('foo', Object(SensitiveParameterValue), 'baz') #1 {main} air a thilgeil ann an test.php air loidhne 8
  • Ceadaichte a bhith a 'mìneachadh co-chomharran ann an comharran (feart, inneal airson còd ath-chleachdadh). Faodar faighinn a-steach do cho-chomharran a tha air am mìneachadh ann an caractar tron ​​​​chlas a chleachdas an cumadh (ach chan ann tron ​​​​ainm trait). trait Foo { public const CONSTANT = 1; bàr gnìomh poblach (): int {till fèin :: CONSTANT; // Mearachd mharbhtach } } bàr clas { cleachd Foo; } var_dump(Bar:: CONSTANT); //1
  • Chuir sinn ris a’ chomas seòrsaichean a shònrachadh anns an fhoirm àbhaisteach disjunctive (DNF, Foirm àbhaisteach Disjunctive), a leigeas leat aonadh sheòrsan (cruinneachaidhean de dhà sheòrsa no barrachd) agus an eadar-ghearradh de sheòrsan (seòrsaichean aig a bheil luachan fo ghrunnan). seòrsaichean aig an aon àm). clas Foo { bàr gnìomh poblach ((A&B) | null $entity) { ma tha ($entity === null) { tilleadh null; } tilleadh $entity; } }
  • Chaidh leudachadh ùr “Random” a mholadh le gnìomhan agus clasaichean airson àireamhan agus sreathan meallta a ghineadh. Tha am modal a’ toirt seachad eadar-aghaidh stèidhichte air nithean, a’ leigeil leat diofar einnseanan a thaghadh airson àireamhan meallta air thuaiream a ghineadh, a’ gabhail a-steach an fheadhainn a tha freagarrach airson an cleachdadh ann an cryptography, agus a’ toirt seachad gnìomhan taice, mar eisimpleir, airson measgachadh air thuaiream arrays agus sreangan, a’ taghadh iuchraichean rèite air thuaiream, cleachdadh grunn ghineadairean aig an aon àm leis an stàit neo-eisimeileach agad fhèin. $rng = $is_production ? ùr Random\Engine\Secure(): ùr Random\Engine\Mt19937(1234); $randomizer = Random\Randomizer ùr($rng); $randomizer-> shuffleString ('foobar');
  • Tionndadh cùis locale-neo-eisimeileach air a chuir an gnìomh. Bidh gnìomhan mar strtolower() agus strtoupper() a-nis an-còmhnaidh ag atharrachadh cùis charactaran anns an raon ASCII, mar nuair a bhios tu a’ suidheachadh an locale gu “C”.
  • Chaidh gnìomhan ùra a chur ris: mysqli_execute_query, curl_upkeep, memory_reset_peak_usage, ini_parse_quantity, libxml_get_external_entity_loader, sodium_crypto_stream_xchacha20_xor_ic, openssl_cipher_key_length.
  • Modhan ùra air an cur ris: mysqli :: execute_query, ZipArchive :: getStreamIndex, ZipArchive :: getStreamName, ZipArchive :: clearError, ReflectionFunction :: isAnonymous, ReflectionMethod ::hasPrototype.
  • Tha an comas air togalaichean a chruthachadh gu dinamach ann an clas air a dhol sìos. Ann am PHP 9.0, ma gheibh thu cothrom air togalaichean nach eil air am mìneachadh an toiseach sa chlas thig mearachd (ErrorException). Leanaidh clasaichean a bheir seachad dòighean __get agus __set airson togalaichean a chruthachadh, no feartan fiùghantach ann an stdClass, ag obair gun atharrachadh, cha tèid ach obair shoilleir le feartan nach eil ann gus an leasaiche a dhìon bho bhiteagan falaichte. Gus obair an t-seann chòd a ghlèidheadh, thathas a’ moladh am feart “#[AllowDynamicProperties]”, a’ ceadachadh togalaichean fiùghantach a chleachdadh.
  • Chan eil comas air luachan caochlaideach a chur an àite teudan le abairtean “${var}” agus ${(var)}" air a mholadh. Chaidh taic airson luchd-ionaid "{$var}" agus "$var" a chleachdar gu cumanta a ghleidheadh. Mar eisimpleir: "Hello {$world}"; ceart gu leòr "Hello $world"; ceart gu leòr "Hello ${world}"; Gun mholadh: chan eil cleachdadh ${} ann an teudan air a mholadh tuilleadh
  • Chan eilear a’ moladh fònaichean le taic pàirteach a dh’fhaodar a ghairm tro “call_user_func($callable)”, ach nach cuir iad taic ri gairm san fhoirm “$callable()": "fèin:: modh" "pàrant::dòigh" "static ::dòigh" ["fèin", "modh"] ["pàrant", "dòigh"] ["static", "dòigh" : " Modh-obrach" ] ["static", "dòigh" : " modh ùr : " [Bàrr" :
  • Chaidh an stiùireadh error_log_mode a chur ris na roghainnean, a’ toirt cothrom dhut am modh inntrigidh don loga mearachd a dhearbhadh.

Source: fosgailtenet.ru

Cuir beachd ann