Ka filluar testimi alfa i PHP 8.2

Ishte prezantuar alpha-lëshimi i parë i degës së re të gjuhës së programimit PHP 8.2. Lëshimi është parashikuar për më 24 nëntor. Novitetet kryesore, të cilat tashmë janë të disponueshme për testim ose janë planifikuar për t'u realizuar në PHP 8.2:

  • Shtohen tipe tĂ« veçanta "false" dhe "null", tĂ« cilat mund tĂ« pĂ«rdoren, pĂ«r shembull, pĂ«r tĂ« kthyer njĂ« funksion njĂ« tregues pĂ«rfundimi me gabim ose njĂ« vlerĂ« bosh. MĂ« parĂ« "false" dhe "null" mund tĂ« pĂ«rdorej vetĂ«m nĂ« lidhje me tipe tĂ« tjera (pĂ«r shembull, "string|false"), ndĂ«rsa tani mund tĂ« aplikohen ndaras: function alwaysFalse(): false { return false; }
  • Shtohet mundĂ«sia pĂ«r tĂ« ndalur klasĂ«n si tĂ« disponueshme vetĂ«m pĂ«r tĂ« lexuar. Pronat nĂ« kĂ«to klasa mund tĂ« pĂ«rcaktohen vetĂ«m njĂ« herĂ«, pas sĂ« cilĂ«s nuk do tĂ« jenĂ« nĂ« dispozicion pĂ«r ndryshim. MĂ« parĂ« vetĂ«m pronat e veçanta tĂ« klasĂ«s mund tĂ« shĂ«nohen si vetĂ«m pĂ«r tĂ« lexuar, ndĂ«rsa tani mund tĂ« aktivizohet ky mod pĂ«r tĂ« gjitha pronat e klasĂ«s njĂ«herĂ«sh. PĂ«rcaktimi i flamurit "readonly" nĂ« nivelin e klasĂ«s gjithashtu bllokon shtimin dinamik tĂ« pronave nĂ« klasĂ«. readonly class Post { public function __construct( public string $title, public Author $author, ) {} } $post = new Post(/* 
 */); $post->unknown = ‘wrong’; // Gabim: Nuk mund tĂ« krijoni pronĂ« dinamike Post::$unknown
  • Kjo Ă«shtĂ« shpallur e vjetĂ«r mundĂ«sia e krijimit dinamik tĂ« pronave nĂ« klasĂ« (si "post->unknown" nĂ« shembullin e mĂ«sipĂ«rm). NĂ« PHP 9.0, qasja nĂ« pronat, fillimisht tĂ« papĂ«rcaktuar nĂ« klasĂ«, do tĂ« çojĂ« nĂ« njĂ« gabim (ErrorException). Klasa qĂ« ofrojnĂ« metodat __get dhe __set pĂ«r tĂ« krijuar prona, ose pronat dinamike nĂ« stdClass do tĂ« vazhdojnĂ« tĂ« punojnĂ« pa ndryshim, do tĂ« ndalet vetĂ«m mbĂ«shtetja pĂ«r veprimin e heshtur me pronat e pakta pĂ«r tĂ« mbrojtur zhvilluesin nga gabimet e fshehura. PĂ«r tĂ« ruajtur funksionimin e kodit tĂ« vjetĂ«r, Ă«shtĂ« propozuar atributi "#[AllowDynamicProperties]", i cili lejon pĂ«rdorimin e pronave dinamike.
  • Kjo mundĂ«si ofron filtrimin e parametrave konfidencial nĂ« tĂ« dhĂ«nat e gjurmĂ«s sĂ« STACK, qĂ« dalin gjatĂ« njĂ« gabimi. Eliminimi i informacionit tĂ« caktuar mund tĂ« jetĂ« e nevojshme kur tĂ« dhĂ«nat mbi gabimet qĂ« ndodhin dĂ«rgohen automatikisht nĂ« shĂ«rbime tĂ« jashtme qĂ« ndjekin problemet dhe informojnĂ« zhvilluesit. PĂ«r shembull, mund tĂ« ekskluzoni nga gjurmimi parametrat qĂ« pĂ«rfshijnĂ« emrat e pĂ«rdoruesve, fjalĂ«kalimet dhe variablat e ambientit. function test( $foo, #[\SensitiveParameter] $password, $baz ) { throw new Exception(‘Gabim’); } test(‘foo’, ‘password’, ‘baz’); Gabim fatal: Exception e kapur: Gabim nĂ« test.php:8 Gjurmimi i stack: #0 test.php(11): test(‘foo’, Object(SensitiveParameterValue), ‘baz’) #1 {main} hedhur nĂ« test.php nĂ« linjĂ«n 8
  • MundĂ«sia pĂ«r tĂ« zĂ«vendĂ«suar vlerat e variablave nĂ« strings me ndihmĂ«n e shprehjeve «${var}» dhe ${(var)}» shpallet e vjetruar. MbĂ«shtetje pĂ«r zĂ«vendĂ«sime tĂ« zakonshme si «{$var}» dhe «$var» Ă«shtĂ« ruajtur. PĂ«r shembull: «Hello {$world}»; OK «Hello $world»; OK «Hello ${world}»; E vjetruar: PĂ«rdorimi i ${} nĂ« strings Ă«shtĂ« e vjetruar
  • Objektet e thirrur tĂ« mbĂ«shtetur pjesĂ«risht qĂ« mund tĂ« thirren pĂ«rmes «call_user_func($callable)», por nuk mbĂ«shtesin thirrjen nĂ« formĂ«n «$callable()» shpallen tĂ« vjetruara: «self::method» «parent::method» «static::method» [«self», «method»] [«parent», «method»] [«static», «method»] [«Foo», «Bar::method»] [new Foo, «Bar::method»]
  • Implementohet njĂ« transformim i shkronjave i pavarur nga lokaliteti. Funksionet si strtolower() dhe strtoupper() tani gjithmonĂ« ndryshojnĂ« rastin e shkronjave nĂ« hapĂ«sirĂ«n ASCII si pĂ«r caktimin e lokalitetit «C».

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster