PHP 7.4 ilə nələr dəyişir? Hansı yeni özəlliklər gəlir?

PHP 7.4 ilə bir çox yenilik gəlir və bəzi şeylər dəyişir. Öncə gələn yeniliklərə nəzər salaq daha sonrasında isə nələrin dəyişəcəyinə baxaq.

Arrow funksiyalar

Arrow funksiyalarını “qısaldılmış funksiya” olaraq adlandıra bilərik. Kiçik və qısa funksiyalar artıq tək sətr olaraq yazıla biləcək.

Əvvəl:

array_map(function (User $user) { 
    return $user->id; 
}, $users)

Yeni versiya:

array_map(fn (User $user) => $user->id, $users

Arrow funksiyaları ilə bağlı bir neçə qeyd:

  • Arrow olaraq yazılmış funksiyalar üst dəyişkənlərə use termini olmadan müdaxilə edə bilər.
  • $this yalnızca normal closure sinifləri ilə işlədilə bilər
  • Arrow funksiyalar yalnızca bir return’a sahib tək sətirlik funksiya ola bilər.

Təkminləşdirilmiş növ (tip) fərqliliyi

Covariant(ziddiyyətli ?*) return tipləri yaza biləcəksiniz:

class ParentType {}
class ChildType extends ParentType {}

class A
{
    public function covariantReturnTypes(): ParentType
    { /* … */ }
}

class B extends A
{
    public function covariantReturnTypes(): ChildType
    { /* … */ }
}

Covariant(ziddiyyətli ?*) arqumentlər

class A { public function contraVariantArguments(ChildType $type) { /* … */ } } class B extends A { public function contraVariantArguments(ParentType $type) { /* … */ } } DAVAMI >