An fara gwajin Alpha na PHP 8.2

An gabatar da sakin alpha na farko na sabon reshe na harshen shirye-shirye na PHP 8.2. An shirya sakin ranar 24 ga Nuwamba. Babban sabbin abubuwan da aka riga aka samu don gwaji ko kuma an tsara aiwatarwa a cikin PHP 8.2:

  • An ƙara nau'ikan "ƙarya" da "rauni", waɗanda za a iya amfani da su, alal misali, don dawo da alamar kammalawa tare da kuskure ko ƙima mara kyau ta hanyar aiki. A baya can, "ƙarya" da "null" kawai za a iya amfani da su tare da wasu nau'o'in (misali, "string | arya"), amma yanzu ana iya amfani da su daban: aiki kullumKarya(): ƙarya {koma ƙarya; }
  • Ƙara ikon yiwa aji a matsayin karanta-kawai. Za'a iya saita kaddarorin a cikin irin waɗannan azuzuwan sau ɗaya kawai, bayan haka ba za su sami canji ba. A baya, ana iya yiwa kaddarorin aji ɗaya alama akan karantawa kawai, amma yanzu zaku iya kunna wannan yanayin don duk kadarorin aji lokaci guda. Ƙayyadaddun tutar "karanta kawai" a matakin aji kuma yana toshe ƙaƙƙarfan ƙarar kaddarorin ajin. Buga aji kawai karatu {aikin jama'a __ ginawa (lambar jama'a $ take, mawallafin jama'a $ marubuci, ) {}} $post = sabon Post(/* … */); $post->unknown = 'ba daidai ba'; // Kuskure: Ba za a iya ƙirƙira kaddarori mai ƙarfi Post :: $ ba a sani ba
  • Ikon ƙirƙirar kadarori a cikin aji ya ƙare (kamar "bayan-> ba a sani ba" a cikin misalin da ke sama). A cikin PHP 9.0, samun dama ga kaddarorin da ba a bayyana asali ba a cikin aji zai haifar da kuskure (ErrorException). Azuzuwan da ke ba da hanyoyin __get da __set don ƙirƙirar kadarori, ko kaddarorin masu ƙarfi a cikin stdClass za su ci gaba da yin aiki ba tare da canzawa ba, za a dakatar da fake-fayen aiki tare da kaddarorin da ba su wanzu ba don kare mai haɓakawa daga ɓoyayyun kurakurai. Don kiyaye tsohuwar lambar tana aiki, ana ba da shawarar sifa "#[AllowDynamicProperties]", yana ba da damar amfani da kaddarorin masu ƙarfi.
  • Bayar da ikon tace saituna masu mahimmanci a cikin abubuwan da ake fitarwa a lokacin kuskure. Ana iya buƙatar yanke wasu bayanai lokacin da aka aika bayanai game da kurakurai da ke faruwa ta atomatik zuwa sabis na ɓangare na uku waɗanda ke bin matsalolin da sanar da masu haɓakawa game da su. Misali, zaku iya keɓance sigogi daga alamar da suka haɗa da sunayen mai amfani, kalmomin shiga, da masu canjin yanayi. Gwajin aikin ($ foo, #[\SensitiveParameter] $ kalmar sirri, $ baz ) {jifa sabon Exception ('Kuskure'); } gwaji ('foo', 'password', 'baz'); Kuskure mai kisa: Ba a kama shi ba: Kuskure a cikin gwaji.php:8 Tari: #0 test.php(11): gwaji('foo', Object(SensitiveParameterValue),'baz') #1 {main} jefa a test.php akan layi 8
  • Ƙarfin musanya madaidaicin ƙima cikin kirtani ta amfani da "${var}" da kuma ${(var)}" furuci ya ƙare. An kiyaye goyan bayan "{$var}" da "$var" da aka saba amfani da su. Misali: "Sannu {$ duniya}"; Ok "Hello $ duniya"; Ok "Sannu ${duniya}"; An soke: An daina amfani da ${} a cikin kirtani
  • Ƙaƙƙarfan ƙira mai goyan bayan ɓangaren da za a iya kira ta hanyar "call_user_func($callable)", amma ba sa goyan bayan yin kira ta hanyar "$ callable()": "kai :: Hanyar" "iyaye:: Hanyar" "tsaye :: Hanyar" ["kai", "hanyar"] ["iyaye", "hanyar"] ["iyaye", "hanyar"] ["tsaye", "Tsarin"]
  • Canjin shari'ar mai zaman kanta da aka aiwatar. Ayyuka kamar strtolower() da strtoupper() yanzu koyaushe suna canza yanayin haruffa a cikin kewayon ASCII, kamar lokacin saita wurin zuwa "C".

source: budenet.ru

Add a comment