Alpha kuyedzwa kwePHP 8.2 kwatanga

Yekutanga alpha kuburitswa kwebazi idzva reiyo PHP 8.2 programming mutauro yakaunzwa. Kuburitswa kwakarongerwa Mbudzi 24. Iwo makuru magadzirirwo atovepo ekuyedzwa kana kurongwa kuti aitwe muPHP 8.2:

  • Yakawedzera mhando dzakasiyana "nhema" uye "null", iyo inogona kushandiswa, semuenzaniso, kuti basa ridzorere mureza wekumisa kukanganisa kana kukosha kusina chinhu. Kare, "nhema" uye "isina maturo" zvaingoshandiswa pamwe chete nemamwe marudzi (somuenzaniso, "tambo| nhema"), asi iye zvino anogona kushandiswa zvakasiyana: basa nguva dzoseFalse(): nhema {kudzoka nhema; }
  • Yakawedzera kugona kumaka kirasi sekuverenga-chete. Zvivakwa mumakirasi akadaro zvinogona kuiswa kamwe chete, mushure mezvo hazvigone kuchinjwa. Pakutanga, zvivakwa zvekirasi yega zvaigona kuverengerwa kuverenga-chete, asi ikozvino unogona kugonesa iyi modhi kune ese makirasi zvivakwa kamwechete. Kutsanangura mureza "wekuverenga chete" padanho rekirasi zvakare kunovharira zvivakwa kubva pakuwedzerwa zvine simba kukirasi. readonly class Post {basa revanhu __kuvaka(ruzhinji tambo $title,Munyori weruzhinji $munyori,) {}} $post = new Post(/* … */); $ post-> isingazivikanwe = 'zvisizvo'; // Mhosho: Haikwanise kugadzira inochinja pfuma Post ::$ isingazivikanwe
  • Iko kugona kugadzira zvine simba zvivakwa mukirasi (se "post-> isingazivikanwe" mumuenzaniso uri pamusoro) kwakadzikiswa. MuPHP 9.0, kuwana zvivakwa zvisina kutsanangurwa pakutanga mukirasi zvinokonzeresa kukanganisa (ErrorException). Makirasi anopa __get uye __set nzira dzekugadzira zvivakwa, kana dynamic zvivakwa mustdClass, acharamba achishanda pasina shanduko, chete basa rakajeka rine zvisipo zvivakwa zvinotsigirwa kudzivirira mugadziri kubva kune akavanzika tsikidzi. Kuti uchengetedze basa rekodhi yekare, "#[BvumiraDynamicProperties]" hunhu hunotsanangurwa, huchibvumira kushandiswa kwezvinhu zvine simba.
  • Inopa kugona kusefa inonzwisisika paramita mune stack trace inobuda panguva yekukanganisa. Kucheka rumwe ruzivo kungave kuri madikanwa kana ruzivo nezve kukanganisa kunoitika kuchitumirwa otomatiki kune wechitatu-bato masevhisi anoteedzera matambudziko uye kuzivisa vanogadzira nezvazvo. Semuenzaniso, unogona kusabvisa ma paramita anosanganisira mazita ekushandisa, mapassword, uye nharaunda dzakasiyana kubva pakutevera. basa bvunzo( $foo, #[\SensitiveParameter] $password, $baz) {kanda mutsva Kunze('Kukanganisa'); } test('foo', 'password', 'baz'); Chikanganiso chinouraya: Chisina Kubatwa: Chikanganiso mutest.php:8 Stack trace: #0 test.php(11): test('foo', Object(SensitiveParameterValue), 'baz') #1 {main} yakakandwa mutest.php paline 8
  • Kugona kutsiva hunhu hwakasiyana kuita tambo uchishandisa mazwi ekuti "${var}" uye ${(var)} kwaraswa. Tsigiro yezvinowanzo shandiswa "{$var}" uye "$var" zvinotsiva zvakachengetwa. Somuenzaniso: "Mhoro {$world}"; OK "Mhoro $nyika"; OK "Mhoro ${nyika}"; Yakaregwa: Kushandisa ${} mutambo kwaraswa
  • Mafoni anoshevedzwa akaregwa anogona kudanwa kuburikidza ne "call_user_func($callable)" asi asingatsigiri kufona nenzira yekuti "$callable()": "self::method" "mubereki::nzira" "static" ::nzira " ["self", "method"] ["mubereki", "nzira"] ["static", "method"] ["Foo", "Bar::method"] [new Foo, "Bar: :method" ]
  • Kushandurwa kwenyaya yenzvimbo-yakazvimirira. Mabasa akaita se strtolower () uye strtoupper () ikozvino anogara achishandura nyaya yemavara muASCII renji sekunge yakaiswa ku "C" nzvimbo.

Source: opennet.ru

Voeg