Kuyesa kwa alpha kwa PHP 8.2 kwayamba

Kutulutsidwa koyamba kwa alpha kwa nthambi yatsopano ya chilankhulo cha pulogalamu ya PHP 8.2 kwaperekedwa. Kutulutsidwa kukuyembekezeka pa Novembara 24. Zatsopano zomwe zilipo kale kuti ziyesedwe kapena zokonzekera kukhazikitsidwa mu PHP 8.2:

  • Mitundu yosiyana "zabodza" ndi "null" zawonjezedwa, zomwe zingagwiritsidwe ntchito, mwachitsanzo, kubwezera chizindikiro chomaliza ndi cholakwika kapena mtengo wopanda kanthu ndi ntchito. M'mbuyomu, "zabodza" ndi "zopanda pake" zitha kugwiritsidwa ntchito molumikizana ndi mitundu ina (mwachitsanzo, "chingwe| zabodza"), koma tsopano zitha kugwiritsidwa ntchito padera: ntchito alwaysFalse(): zabodza {kubwerera zabodza; }
  • Anawonjezera luso loyika kalasi ngati yowerenga-yokha. Katundu m'makalasi oterowo akhoza kukhazikitsidwa kamodzi kokha, pambuyo pake sadzakhalapo kuti asinthe. M'mbuyomu, katundu wamagulu amtundu uliwonse amatha kulembedwa kuti owerenga okha, koma tsopano mutha kuyatsa mawonekedwe awa pazinthu zonse zamakalasi nthawi imodzi. Kutchula mbendera ya "readonly" pamlingo wa kalasi kumalepheretsanso kuwonjezereka kwa zinthu m'kalasi. readonly class Post {ntchito yapagulu __construct (chingwe chapagulu $ mutu, Wolemba pagulu $ wolemba, ) {} } $ positi = Post yatsopano (/* … */); $ post-> osadziwika = 'zolakwika'; // Cholakwika: Sitingathe kupanga katundu wosinthika Post::$unknown
  • Kuthekera kopanga zinthu m'kalasi kwatsitsidwa (monga "post->zosadziwika" mu chitsanzo pamwambapa). Mu PHP 9.0, kupeza katundu yemwe sanatchulidwe m'kalasi kumabweretsa cholakwika (ErrorException). Makalasi omwe amapereka __get ndi __set njira zopangira katundu, kapena katundu wosinthika mu stdClass apitiliza kugwira ntchito monga momwe aliri, ndipo kungogwira mosabisa kwa zinthu zomwe palibe sikudzathandizidwanso kuti ateteze woyambitsa ku nsikidzi zobisika. Kuti khodi yakale igwire ntchito, "#[AllowDynamicProperties]" imaperekedwa, kulola kugwiritsa ntchito zinthu zosinthika.
  • Zinapereka kuthekera kosefa zochunira muzotulutsa zotsatizana panthawi ya vuto. Kudula zidziwitso zina kungafunike ngati zambiri za zolakwika zomwe zimachitika zimatumizidwa zokha kumagulu ena omwe amatsata zovuta ndikudziwitsa opanga za iwo. Mwachitsanzo, mutha kuchotsa magawo omwe ali ndi mayina olowera, mawu achinsinsi, ndi zosintha zachilengedwe. ntchito test($foo, #[\SensitiveParameter] $password, $baz) {ponyani Kupatulako kwatsopano('Zolakwa'); } test('foo', 'password', 'baz'); Cholakwika choopsa: Kupatulapo Osaphunzitsidwa: Zolakwika mu test.php:8 Stack trace: #0 test.php(11): test('foo', Object(SensitiveParameterValue), 'baz') #1 {main} yaponyedwa mu test.php pa mzere 8
  • Kutha kusintha zingwe zosinthika kukhala zingwe pogwiritsa ntchito mawu akuti "${var}" ndi ${(var)}" kwachotsedwa. Thandizo la "{$var}" ndi "$var" logwiritsidwa ntchito kawirikawiri lasungidwa. Mwachitsanzo: "Moni {$world}"; Chabwino "Moni $dziko"; CHABWINO "Moni ${dziko}"; Yatsitsidwa: Kugwiritsa ntchito ${} m'mizere kwatsitsidwa
  • Zoyimba zomwe zatsitsidwa pang'ono zomwe zitha kutchedwa "call_user_func($callable)", koma sizigwirizana ndi kuyimba ngati "$callable()": "self::method" "parent::method" "static::method" ["self", "method"] ["parent", "method"]","Fomethod":"["Fometho]": ["Fometho]" ["Fometho]" ["Fometho]" ["Fometho]" ["Fometho]" :: njira"]
  • Kusintha kwamilandu kodziyimira pawokha komwe kwakhazikitsidwa. Ntchito monga strtolower () ndi strtoupper () tsopano nthawi zonse zimasintha mawonekedwe a zilembo mumtundu wa ASCII, monga pokhazikitsa malo kukhala "C".

Source: opennet.ru

Kuwonjezera ndemanga