JavaScript ve PHP arasında geçiş yapmak eğlenceli… ta ki dizilere dokunana kadar.
JavaScript’te dizi yöntemlerini zincirlemek oldukça doğaldır:
arr.map().filter().reduce()
Peki PHP’de?
Benzer şeyler yapabilirsiniz, ancak genellikle parçalı, gürültülü veya
daha az duyarlı hissedilir.
Bu yüzden JsArray adlı küçük bir PHP kütüphanesi geliştirdim; bu kütüphane JavaScript dizilerinden esinlenmiştir ve okunabilirlik, öngörülebilirlik ve
geliştirici mutluluğu üzerine odaklanmıştır.
JsArray Nedir?
JsArray Nedir?
JsArray, yerel PHP dizileri etrafında hafif bir sargıdır ve size aşağıdaki aşina yöntemleri sağlar:
-
map -
filter -
reduce -
forEach -
find -
every -
some
Tüm bu yöntemler zincirlenebilir. Hepsi açık. Saf PHP.
$result = JsArray::from([1, 2, 3, 4])
->map(fn($n) => $n * 2)
->filter(fn($n) => $n > 4)
->toArray();
// [6, 8]
Hiçbir sihir yok. Hiçbir makro yok. Sadece temiz, okunabilir kod.
Varsayılan Olarak Değiştirilemez (Güvenli Mod 🛡️)
Varsayılan Olarak Değiştirilemez (Güvenli Mod 🛡️)
Varsayılan olarak, JsArray değiştirilemezdir.
Bu, her işlemin yeni bir örnek döndürmesi ve orijinal dizinin dokunulmaz kalması anlamına gelir.
$original = JsArray::from([1, 2, 3]);
$doubled = $original->map(fn($n) => $n * 2);
$original->toArray(); // [1, 2, 3]
$doubled->toArray(); // [2, 4, 6]
Neden Önemli?
Neden Önemli?
- Yan etkiler yok
- Hata ayıklama daha kolay
- Daha öngörülebilir davranış
- JavaScript veya işlevsel programlama tarzı kodla tanıdık
Değiştirilebilir Mod (Performans İstediğinizde ⚡)
Değiştirilebilir Mod (Performans İstediğinizde ⚡)
Bazen diziyi doğrudan değiştirmek isteyebilirsiniz – özellikle performans kritik yollarında.
Değiştirilebilir modda, yöntemler yeni örnekler oluşturmak yerine mevcut örneği değiştirir.
$array = JsArray::from([1, 2, 3])->mutable();
$array->map(fn($n) => $n * 2);
$array->filter(fn($n) => $n > 2);
$array->toArray(); // [4, 6]
Son Düşünceler
Son Düşünceler
Eğer:
- günlük olarak PHP yazıyorsanız
- JavaScript tarzı API’lerden hoşlanıyorsanız
- okunabilir ve sürdürülebilir koda önem veriyorsanız
O zaman JsArray tam sizi evinizde hissettirebilir.
Henüz üzerinde çalışıyorum, bu yüzden geri bildirim, fikirler ve eleştiriler çok hoş karşılanıyor 🙌
DX önemli — sonuçta bu koda tüm gün bakıyoruz.
Bağlantılar: https://github.com/omer73364/jsarray
Kaynak: Orijinal Makale


