Laravel 5 Framework Rotalarda İsimlendirme

Merhaba arkadaşlar bu yazımda sizlere rotalarda isimlendirmeyi anlatacağım. İsimlendirme işlemi bizler için hayat kurtaran bir işlem olacak. Bu isimlendirme işlemi ile neler yapabiliriz diye düşünebilirsiniz. Örneğin bir rota home ismini verdiniz. Bu rotanın link kısmına başta olarak değer girdiniz. Bunu siz tema motoru kısmında elle girdiniz. Ancak birkaç gün sonra /home_page yaptınız. Tek tek elle bunları tema motorunda değiştirmek kolay gözükebilir ancak bunu birden fazla rotada yaptınız ve onlarca tema motoru dosyasında kullandınız. Karşınıza çıkacak olan iş yükünü düşünün.

Tam burada linki eğer isim ile oluşturursanız. Laravel web çatısı bizim için bu her çıktıda linki otomatik ayarlayacaktır. Hemen rotayı isimlendirip Laravel web çatısında bulunan birkaç yardımcı fonksiyonu görelim.

Rotanın isimlendirilmesi

Bu işlemi yapabilmek için rota sınıfının içerisinde name fonksiyonu var. Bunu kullanarak isimlendirme işlemini yapacağız. Şimdi örnek 2 adet rota tanımlayalım.

<?php

Route::get('/', function () {
    return 'Bu anasayfa rotasıdır. <a href="'. url('/sayfa') .'">Sayfa</a>';
})->name("anasayfa");

Route::get('/sayfa', function(){
    return 'Bu sayfa rotasıdır. <a href="'. url('/') .'">Anasayfa</a>';
})->name("sayfa");

Burada bir rotaya anasayfa diğerine sayfa ismini verdik. Şimdi burada url yardımcı fonksiyonunu gördük. Burada diğer rotaların linklerinin çıktısını aldık. Ancak bunu parametre isim vererek yapmadık elle linki girerek yaptık. Rotada link değiştiği anda buradaki link patlayacaktır. Peki biz bu link çıktısını rota üzerinden nasıl yapabiliriz. Bunun içinde route yardımcı fonksiyonunu kullanıyoruz.

<?php

Route::get('/', function () {
    return 'Bu anasayfa rotasıdır. <a href="'. route('sayfa') .'">Sayfa</a>';
})->name("anasayfa");

Route::get('/sayfa', function(){
    return 'Bu sayfa rotasıdır. <a href="'. route('anasayfa') .'">Anasayfa</a>';
})->name("sayfa");

Bu yardımcı fonksiyonu eğer kullanırsak rotalarda link değiştirseniz bile otomatik olarak o linklerin çıktısını oluşturacaktır.

You may also like...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir