Laravel projelerinizde kendi fonksiyonlarınızı oluşturup projenin herhangi bir yerinde kullanmak isterseniz yapmanız gereken şey Helper oluşturmaktır.
Size aşağıda vereceğim yöntemde Bir Helper klasörünüz olacak ve içine istediğiniz kadar dosya ve dosyaların içerisine istediğiniz kadar fonksiyon yazın projenizde otomatik olarak tanımlanıp her yerde bir işlem yapmadan kullanabileceksiniz.
Normalde tek bir dosya size belki yeterli gelebilir ancak kapsamlı bir projede tek dosya üzerinde çalışmak bir süre sonra karışacaktır. Bu yöntemle fonksiyonlarınızı dosyalarda gruplaştırarak daha kolay yönetilebilir bir sisteminiz olacak.
İlk önce HelperServiceProvider isimde bir provider oluşturun.
php artisan make:provider HelperServiceProvider
Bu kod projenizde app/Providers altına bir HelperServiceProvider.php adında bir dosya oluşturacaktır. Bu dosyayı açın ve register kısmına aşağıda bulunan kodu yazın.
public function register()
{
foreach (glob(app_path('Helpers') . '/*.php') as $file) {
require_once $file;
}
}
Bu kod neye yaracak derseniz yazının başında bahsettiğim gibi Helpers klasörü alında bulunan tüm dosyaları tarayacak ve bizim controller, model veya view dosyalarında istediğimiz gibi kullanmamızı sağlayacak.
Sonrasında config/app.php dosyasını açın, App\Providers\AppServiceProvider::class satırını bulun ve hemen üstüne App\Providers\HelperServiceProvider::class satını ekleyin. Yani son hali aşağıdaki gibi olacak.
App\Providers\HelperServiceProvider::class,
App\Providers\AppServiceProvider::class,
App\Providers\AuthServiceProvider::class,
App\Providers\BroadcastServiceProvider::class,
Sonrasında app klasörünün altına Helpers isminde bir klasör oluşturun. Ve altına örnek olarak bir dosya oluşturun ben örnek olması için filter.php dosyası oluşturdum ve içerisine bir temizleme işlemi ekliyorum. Dosyanın başında bulunana <?php satırını unutmayın yoksa string olarak dosyayı ya terminale ya da ekrana basabilir veya her iki yere de.
<?php
function clearMultiSpace($string = null)
{
$string = trim(preg_replace('/\s+/',' ',$string));
return $string;
}
Artık projede nerede olursa olsun örneğin;
$first_name = clearMultiSpace($first_name);
yazdığımda direk olarak fazla boşlukları temizleyen bir kendi fonksiyonum olacaktır. Sizde size gerekli olan fonksiyonları Helpers altındaki klasör altına oluşturup her yerde kullanılabilir olacaktır.
İşinize yararsa bir yorum yazmayı unutmayın! Teşekkürler…
çok faydalı teşekkürler