PHP 7.4 sürümü, dilin performansını artırmanın yanı sıra, geliştirici deneyimini iyileştiren bir dizi yeni özellik ve değişiklik sunmuştur. Bu sürümde yer alan bazı önemli fonksiyon değişiklikleri aşağıda açıklanmıştır.
Yargı (Spread) Operatörü
PHP 7.4 sürümü ile birlikte, dizileri ve argümanları yaymak için `…` (spread operatörü) kullanımı daha da basitleştirilmiştir. Özellikle fonksiyonlar için varsayılan değerleri ayarlarken ya da dizileri birleştirirken kullanışlıdır. Örneğin:
“`php
function sum(…$numbers) {
return array_sum($numbers);
}
“`
Bu kod parçası, istediğiniz kadar sayıyı argüman olarak alabilir ve toplama işlemi gerçekleştirebilir.
Dizi Kısmı (Array Short Syntax)
PHP 7.4, dizi oluşturmak için kısaltılmış sözdizimini destekler. `[]` kullanılarak bir dizi tanımlanabilir. Ancak daha önceki sürümlerde kullanılmayan `array` kuralı, bu sürümde kullanılmaya devam etmektedir. Dizi oluşturma işlemi için her iki yöntem de geçerli olsa da, `[]` kullanımı daha sık tercih edilmektedir.
Typed Properties
PHP 7.4 ile birlikte sınıf özelliklerine tür ekleme yeteneği tanıtılmıştır. Bu özellik, kodun okunabilirliğini ve bakımını artırmak amacıyla, değişkenlerin tür kontrolü yapılmasını sağlar. Örnek olarak:
“`php
class Person {
public string $name;
public int $age;
}
“`
Bu örnekte, `name` ve `age` özelliklerinin türleri açık bir şekilde belirlenmiştir. Bu özellik, sınıfın kullanıcıları için daha belirgin bir yapı sunar.
Null Coalescing Assignment Operator
PHP 7.4, `??=` (null coalescing atama operatörü) adlı yeni bir operatör sunmaktadır. Bu operatör, bir değişkenin değeri `null` ise başka bir değeri atamak amacıyla kullanılabilir. Örneğin:
“`php
$username ??= ‘default_user’;
“`
Bu ifade, `$username` değişkeni `null` ise `’default_user’` değerini atar.
Array of Objects
PHP 7.4, dizi içinde nesne kullanımı ve nesnelerle ilgili işlevselliği destekler. Bu değişiklik, dizileri ve nesneleri birleştirerek daha karmaşık veri yapıları oluşturmaya yardımcı olur. Örneğin:
“`php
class Item {
public string $name;
public function __construct(string $name) {
$this->name = $name;
}
}
$items = [
new Item(‘Item1’),
new Item(‘Item2’),
];
“`
Bu yapılar, nesnelerin dizi içinde yönetilmesini kolaylaştırır.
Improvements in FFI (Foreign Function Interface)
PHP 7.4 ile FFI (Yabancı Fonksiyon Arabirimi) desteği geliştirilmiştir. Bu özellik, PHP’de C gibi dış kütüphanelerin kullanılmasına olanak tanır. Geliştiricilerin C kütüphaneleri ile etkileşime geçmesi ve bu kütüphanelerin işlevlerini doğrudan PHP kodu içinde kullanabilmesi amaçlanmaktadır.
Preloading
PHP 7.4, preloading (ön yükleme) desteği sunarak performans iyileştirmelerine katkıda bulunmaktadır. Bu özellik, belirli PHP dosyalarının önceden belleğe yüklenmesini sağlar. Bu sayede, tekrarlanan dosya yüklemeleri azaltılır ve uygulama performansı artırılır.
Sanal Değişkenler
Sanallaştırma, PHP 7.4 ile gelen bir diğer önemli özelliktir. Bu özellik, değişkenlerin daha önce tanımlanmamış olmasına rağmen kullanılmasına olanak tanıyan bir mekanizma sunar. Geliştiriciler, belirli bir nesne veya dizinin sanal bir değişken olarak kullanılmasını sağlayarak daha esnek kod yazabilirler.
Değişiklik Yapılan Fonksiyonlar
PHP 7.4 ile birlikte bazı yerleşik fonksiyonların davranışları değiştirilmiştir. Örneğin, `array_key_first` ve `array_key_last` fonksiyonları eklenmiştir. Bu fonksiyonlar, bir dizideki ilk ve son anahtarları döndürmek amacıyla kullanılabilir.
“`php
$array = [‘foo’ => ‘bar’, ‘baz’ => ‘qux’];
$key_first = array_key_first($array); // foo
$key_last = array_key_last($array); // baz
“`
Error Handling Updates
PHP 7.4, hata raporlama ile ilgili bazı güncellemeler içermektedir. `TypeError` ve `ArgumentCountError` gibi hatalar daha açıklayıcı hale getirilmiştir. Bu durum, hata ayıklamayı kolaylaştırmakta ve geliştirici deneyimini iyileştirmektedir.
Yeni Fonksiyonlar
PHP 7.4, geliştirilmiş fonksiyon setlerine de sahiptir. `str_contains`, `str_starts_with` ve `str_ends_with` gibi yeni fonksiyonlar, dize işleme işlemlerini daha kolay ve hızlı hale getirir. Örneğin:
“`php
$string = “Hello, World!”;
$contains = str_contains($string, “World”); // true
“`
Bu yeni fonksiyonlar, dize üzerinde daha etkili bir şekilde işlem yapmayı sağlamaktadır.
Sonuç
PHP 7.4 sürümü, geliştiricilere bir dizi yeni özellik ve geliştirmeler sunarak programlama deneyimini iyileştirmeyi hedeflemiştir. Kullanılan yeni fonksiyonlar ve değişiklikler, hafif ve etkili uygulamalar geliştirmeye yardımcı olmaktadır. Bu sürüm, PHP dilinin gücünü ve esnekliğini artırarak, geliştiricilere daha iyi bir çalışma ortamı sunmaktadır.