Laravel 5 Helper Ekleme
Laravel ile uygulama geliştirirken zaman zaman yardımcı (helper) sınıflara ihtiyacımız olabiliyor. Bu tür durumlar için oluşturduğumuz yardımcı sınıfları ihtiyacımız olduğunda include etmek yerine composer ile otomatik yüklenmesini sağlayabiliriz.
Laravel projenizin composer.json dosyasını açtığınızda “autoload” objesinde “psr-4” tanımı yapıldığını göreceksiniz. Bu nedenle yeni oluşturacağınız yardımcı sınıfları da aynı şekilde psr-4 standartlarına uygun olması gerekmektedir.
- App klasörü altına “Helper” adında bir klasör oluşturun.
- İçerisine “OrnekHelper.php” adında bir php dosyası oluşturun.
PSR-4 standartlarına göre oluşturduğumuz sınıfa bulunduğu dizini namespace olarak vermeliyiz. Yani bu durumda ilgili sınıfın namespace’i aşağıdaki gibi olmalı.
namespace App\Helper;
Artık sınıfınız kullanıma hazır. Yapmanız gereken son adım composer’ü aşağıdaki komut ile güncellemek.
composer dump-autoload
Laravel Alias Tanımı
Helper tanımını yaptık, autoload ile sınıfın otomatik include edilmesini sağladık. Ancak kullanıma geldiğimizde her seferinde sınıfın başında namespace eklemek zorunda kalıyoruz. Yani yukarda oluşturulan örnek sınıfına ait bir metot çağırmak istediğimizde aşağıdaki örnekte olduğu gibi uzun uzadıya kod yazıyoruz.
App\Helper\OrnekHelper::metot();
Her seferinde namespace yazmak yerine dilerseniz kullanmak istediğiniz sınıfın başına aşağıdaki gibi bir tanımlama yapabilirsiniz.
use App\Helper;
Ancak buna gerek kalmadan da Sadece sınıfınızı çağırmanızın bir yolu daha var. Laravel alias yapısını kullanarak bu sorunu aşabiliriz. Bunun için yapılması gerekenler;
- config/app.php dosyasını açın.
- “aliases” dizisini bulun.
- Bu diziye içeride yer alan diğer sınıflar gibi kendi oluşturduğunuz sınıfıda ekleyin. Örnek;
'OrnekHelper' => App/Helper/OrnekHelper::class,
Bu tanımlama ile artık namespace kullanmadan direk sınıfın ismini yazıp çağırabileceksiniz.