Teko ea alpha ea PHP 8.2 e se e qalile

Khatiso ea pele ea alpha ea lekala le lecha la puo ea lenaneo la PHP 8.2 e hlahisitsoe. Tokollo e reriloe ka la 24 Pulungoana. Mecha ea mantlha e seng e ntse e fumaneha bakeng sa tlhahlobo kapa e reriloeng ho kengoa ts'ebetsong ho PHP 8.2:

  • Mefuta e arohaneng ea "false" le "null" e kentsoe, e ka sebelisoang, mohlala, ho khutlisa letšoao la phetho ka phoso kapa boleng bo se nang letho ka mosebetsi. Nakong e fetileng, "false" le "null" li ne li ka sebelisoa feela hammoho le mefuta e meng (mohlala, "string | bohata"), empa hona joale li ka sebelisoa ka thoko: function alwaysFalse(): bohata {khutlela bohata; }
  • E kentse bokhoni ba ho tšoaea sehlopha e le sa ho bala feela. Thepa ea lihlopha tse joalo e ka behoa hanngoe feela, ka mor'a moo e ke ke ea fumaneha bakeng sa phetoho. Pele, thepa ea sehlopha ka seng e ne e ka tšoauoa hore e baloe feela, empa joale u ka bulela mokhoa ona bakeng sa thepa eohle ea sehlopha hang-hang. Ho hlakisa folakha ea "bala feela" maemong a phaposi ho boetse ho thibela tlatsetso e matla ea thepa sehlopheng. bala feela sehlopha Post { mosebetsi oa sechaba __construct( khoele ea sechaba $ title, public Author $ author, ) {} } $ post = new Post(/* … */); $ poso-> e sa tsejoeng = 'fosahetse'; // Phoso: Ha e khone ho theha thepa e matla Post::$e sa tsejoe
  • Bokhoni ba ho theha thepa ka phapusing bo tlositsoe (joalo ka "post-> tse sa tsejoeng" mohlaleng o ka holimo). Ho PHP 9.0, ho fihlella thepa e sa hlalosoang qalong ka sehlopha ho tla baka phoso (ErrorException). Lihlopha tse fanang ka __get le __set mekhoa ea ho theha thepa, kapa thepa e matla ho stdClass e tla tsoela pele ho sebetsa e sa fetohe, ho tla emisoa feela mosebetsi o hlakileng o nang le thepa e seng teng e le ho sireletsa moqapi liphosong tse patiloeng. Ho boloka khoutu ea khale e sebetsa, ho hlahisoa "#[AllowDynamicProperties]", e lumellang tšebeliso ea thepa e matla.
  • E fane ka bokhoni ba ho sefa litlhophiso tse hlokolosi molemong oa trace track ea stack ka nako ea phoso. Ho ka 'na ha hlokoa ho khaola tlhahisoleseding e itseng ha tlhahisoleseding e mabapi le liphoso tse hlahang e romelloa ka bo eona litšebeletsong tsa mekhatlo ea boraro tse latellang mathata le ho tsebisa baetsi ba tsona. Mohlala, o ka qhelela ka thoko liparamente ho latela mohlala o kenyelletsang mabitso a basebelisi, li-password, le maemo a tikoloho. teko ea ts'ebetso ($ foo, #[\ SensitiveParameter] $password, $baz) {lahlela Mokhelo o mocha ('Phoso'); } teko('foo', 'password', 'baz'); Phoso e bolaeang: Khethollo e sa Tšoareloang: Phoso tekong.php:8 Stack trace: #0 test.php(11): test('foo', Object(SensitiveParameterValue), 'baz') #1 {main} e kentsoe tekong.php inthaneteng 8
  • Bokhoni ba ho beha maemo a feto-fetohang sebakeng sa likhoele ho sebelisa mantsoe a "${var}" le ${(var)}" bo tlositsoe. Tšehetso ea "{$var}" le "$var" e sebelisoang hangata e bolokiloe. Ka mohlala: "Lumela {$lefatše}"; OK "Hello $ lefatše"; OK "Dumela ${lefatshe}"; E tlositsoe: Ho sebelisa ${} ka har'a likhoele ho tlositsoe
  • Li-call tse tšehetsoeng ka mokhoa o itseng tse ka bitsoang ka "call_user_func($callable)" li tlositsoe, empa ha li tšehetse ho letsetsa ka mokhoa "$callable()": "self::method" "parent::method" "static :: mokhoa" ["self", "method"] ["motsoali", "mokhoa"] ["static", "mokhoa"] ["Foo", "Bar::mokhoa"] [Foo e ncha, "Bar: :mokhoa "]
  • E kentse tšebetsong phetoho ea linyeoe tse ikemetseng. Mesebetsi e kang strtolower() le strtoupper() joale e lula e fetola boemo ba litlhaku ho ASCII, joalo ka ha u beha sebaka sa "C".

Source: opennet.ru

Eketsa ka tlhaloso