Laravel'de Özel Helper Oluşturma
Laravel bize array, url, route ve benzeri bir çok konuda yardımcı fonksiyonlar sunuyor. Ancak bazen projelerimizde projeye özel bazı yardımcı fonksiyonlara ihtiyacımız olabilir ve bu fonksiyonları tüm projede kolayca kullanabilmek için bilmemiz gereken birkaç adım var. Ben de sizlere bu makalede bunu paylaşmaya çalışacağım.
Adım 1 - Helper dosyasını oluşturun
İlgili dosyayı app/
dizini altında helpers.php
ismiyle oluşturun ve istediğiniz fonksiyonları tanımlayın. Ben bu örnekte sizler için, mevcut sayfayı kontrol ederek active
class ataması yapacak bir fonksiyon tanımlayacağım.
<?php
// dosya: app/helpers.php
function is_active($url, $className = 'active')
{
return request()->is($url) ? $className : null;
}
Adım 2 - Composer.json ayarını yapın
Oluşturduğunuz helpers.php
dosyanızı composer'a tanıtmamız gerekiyor. Kısaca ana dizindeki composer.json
dosyanızı açın ve ilgili kısmı ekleyin.
"autoload": {
"psr-4": {
"App": "app/"
},
"classmap": [
"database/seeds",
"database/factories"
],
files": [
"app/helpers.php"
]
},
Adım 3 - İlgili komutu çalıştırın
Composer'da yapılan değişikliklerin uygulanması için şu komutu çalıştırın.
composer dump-autoload
Laravel'de helper nasıl kullanılır?
Evet artık yardımcı fonksiyonlarınızı kullanmaya hazırsınız. Yeni bir fonksiyon eklediğinizde composer komutunu tekrar çalıştırmanıza gerek yoktur, bir sefere mahsus bir durumdu bu unutmayın.
<a href="{{ route('home') }}" class="menu-item {{ is_active('home') }}">
Ana Sayfa
</a>
Editörde Görüntüle