PHP 7.4 da nimalar o’zgardi?

PHP 7.4. logo


Kecha php ning yangi versiyasi ofisial chiqarildi. Uning bir nechta muxim o’zgarishlari bor

class User {
    public int $id;
    public string $name;
}

Endi xususiyat (property) larda ham ma’lumot turini ko’rsatishimiz mumkin. Bu eng muxim o’zgarish. Ushbu o’zgarishni bir necha yillardan beri kutardik. Endi PHP da to’laqonli turlashgan dasturlar yozishimiz mumkin!

$factor = 10;
$nums = array_map(fn($n) => $n * $factor, [1, 2, 3, 4]);
// $nums = array(10, 20, 30, 40);

Strelkalik funksiyalar imkoni paydo bo’ldi. Endi bir qatorlik funksiyalarni qisqa yozish imkonimiz bor

class A {}
class B extends A {}

class Producer {
    public function method(): A {}
}
class ChildProducer extends Producer {
    public function method(): B {}
}

Endi yuqoridagi kod ham ishlaydi

$array['key'] ??= computeDefault();

// quyidagi kod bilan bir 
if (!isset($array['key'])) {
    $array['key'] = computeDefault();
}

Lekin to’g’risini aytsam PHP dasturchilari so’roq belgisi bilan ishlashni sal oshirib yuborishdi. Endi, ayniqsa boshlovchi dasturchilar oson chalkashishlari mumkin. Barcha tillarda a ? b : c; ko’rinishidagi ifodalar bor. PHP da esa undan tashqari, endi ?: ?? ??= kabi ifodalar ham paydo bo’ldi.

$parts = ['apple', 'pear'];
$fruits = ['banana', 'orange', ...$parts, 'watermelon'];
// ['banana', 'orange', 'apple', 'pear', 'watermelon'];

Bu juda qulay o’zgarishlardan biri. Bundan ko’p foydalansam kerak. Ya’ni endi bir ko’plik (array) ichida boshqa ko’plikni ochishingiz mumkin

6.674_083e-11; // kasr son
299_792_458;   // o'nlik sanoq tizimidagi raqam
0xCAFE_F00D;   // 16 lik sanoq tizimida
0b0101_1111;   // ikkilik raqam

Endi raqamlar orasida past chiziq belgisi bo’lishi mumkin. To’g’risi bu qay vaziyatlarda bizga as qotishini bilmayman.

Shahsan men uchun xususiyatlar turlarinig ko’rsatish imkoniyati va bir ko’plik ichida ikkinchisini ochish imkoniyati eng muxim o’zgarishlar xisoblanadi.

9+

PHP 7.4 da nimalar o’zgardi?” ga 1 fikr qoldirilgan

Fikr bildirish