The Problem
Laravel ile çalışırken, bir dizideki bir değerin hemen ardından gelen öğeyi bulmak gerektiğinde, bunu yapmanın mevcut yöntemi oldukça karmaşık hale gelebiliyor. Aşağıdaki kod, bunu gösteriyor:
$items = ['a', 'b', 'c'];
$current = 'a';
$index = array_search($current, $items);
$next = isset($items[$index + 1]) ? $items[$index + 1] : null;Yukarıdaki kod, dizi elemanını bulmak için üç satırlık bir boilerplate içeriyor ve bu yöntem hem ilişkilendirilmiş dizilerle çalışmıyor hem de döngü davranışını yönetemiyor.
Introducing Arr::after()
Laravel Arr Extended paketi ile artık bunu çok daha basit bir şekilde yapabilirsiniz:
use GulfarazArshad\LaravelArrExtended\Arr;
Arr::after(['a', 'b', 'c'], 'a'); // 'b'Bu yöntem, dizinin sonuna geldiğinde ilk elemana döner, böylece döngüsel bir yapı sağlanır:
Arr::after(['a', 'b', 'c'], 'c', wrap: true); // 'a'Bu paket, ilişkilendirilmiş dizilerle de uyumludur:
Arr::after(['x' => 'a', 'y' => 'b'], 'a'); // 'b' Eğer değer dizide bulunamazsa, null döndürür. Bu sayede sürprizler ve hatalar en aza indirilmiş olur.
Why I Added It
Projelerde sürekli olarak array_search() ve manuel indeks hesaplamaları yaparken aynı kodları yeniden yazdığımı fark ettim. Arr::after(), bu mantığı tekrar kullanılabilir, okunabilir ve tutarlı hale getiriyor.
Installation
Paketi kurmak için aşağıdaki komutu kullanabilirsiniz:
composer require gulfaraz-arshad/laravel-arr-extendedCheck It Out
Eğer bu paketi faydalı buluyorsanız, GitHub’da bir ⭐ vermek iyi olur. Ayrıca, sürekli yeniden yazdığınız diğer dizi yardımcıları varsa, bunları duymak isterim — bu paket sürekli gelişiyor.
Kaynak: Orijinal Makale


