Giriş yap

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>