Laravel Routing Yapısı

Uzun bir aradan sonra, haftalık olarak blog postu yayınlama kararı aldım. Yazmayı planladığım güzel seriler var, bunlardan ilki laravel üzerine yazmak olacak. Bildiğiniz üzere laravel bir php frameworktür bende seri halinde laraveli ele almak istiyorum. Laravel projesi geliştirmek için ne gerekiyorsa, adım adım hafta hafta bunları kaleme alacağım inşallah.

Serinin ilk makalesi olan Laravel Routing Yapısı ile başlama kararı aldım. Routing kelimesi Türkçede rota/rotalama anlamına gelmektedir. Yani yön gösterici olarak kısaca tanımlayabiliriz. Laravelde routing yapısı nasıl oluyormuş hemen örneklerle birlikte bir göz atalım.


En Basit Haliyle Laravel Routing Kullanımı

Burada url den yapılan get isteğinde test parametresini gördüğünde return yani döndürülecek olan veriyi bize gösterecektir. url.com/test yazacak olursanız ekranda Merhaba yazısını göreceksiniz

  Route::get('test', function () {
      return 'Merhaba)';
  });



Routing’den Controller’a Yönlendirme

Burada yazılar url ine yapılan bir get isteği sonucunda YaziController diye tanımladığımız Controller’ın hepsi adında tanımlanıdığımız action’ına gidecektir.

  Route::get('/yazilar', '[email protected]');



Yönlendirme Metotları

Burada get, post, put … gibi metotların da örnek kullanımını görebilirsiniz

Route::get('nereden', 'nereye');
Route::post('nereden', 'nereye');
Route::put('nereden', 'nereye');
Route::patch('nereden', 'nereye');
Route::delete('nereden', 'nereye');
Route::options('nereden', 'nereye');



Çoklu Metod Kullanımı

Bazen sadece get, post gibi metotları tek bir tane olacak şekilde kullanmak yerine çok olarak(multiple) kullanmak isteyebilirsiniz. Bu durumlarda bir url e hem get hemde post yapma gibi bir durumunuz varsa bu şekilde kullanabilirsiniz

Route::match(['get', 'post'], '/', function () {
    return 'dönecek veriler';
});



Yönlendirme Kullanımı

Burada ise istek yapılan bir url’i başka bir url e yönlendirme işlemi yapabiliyoruz.

Route::redirect('/nereden', '/nereye', 301);



Routing’den View’a Yönlendirme

Routing sayfasında bir değer döndürmek yada controller a yönlendirmek yerine direkt olarak projenizin view’larına yönlendirebilirsiniz. Örneğin statik sayfalar için kullanımı en çok görülen tipdir.

Route::view('/giris', 'giris_sayfasi');



Routing’den Parametre Gönderimi

Url den gelen bir değeri routing den alıp controllera veya view a göndererek işlem yapabilirsiniz. Örnek olarak kullanıcı profilini göstermek için kullanıcının id değerini gönderip profil sayfasında da kontrol ederek o kullanıcıya özel verileri url den aldığınız id değeri ile yapabilirsiniz.

Route::get('kullanici/{id}', function ($id) {
    return 'Kullanıcı '.$id;
});



Çoklu Parametre Kullanımı

Aynı şekilde parametreyi tek gönderebildiğimiz gibi birden fazla parametre de gönderebiliriz.

Route::get('paylasim/{paylasim}/yorum/{yorum}', function ($paylasimId, $yorumId) {
    // yapılacak işlemler
});



İsteğe Bağlı Parametre Kullanımı

Url de belirlediğiniz bir parametreye göre işlem yapabilmemize olanak sağlayan bir metotdur. Örnek olarak arama kutuları verilebilir.

Route::get('search/{query?}', function ($query = null) {
    return $query;
});



İsimlendirilmiş Routing Kullanımı

Bu yönlendirme şeklini kodunuzu daha okunaklı hale getirmek için ya da daha pratik kullanımlar için kullanabilirsiniz. Vermiş olduğunuz name ile kullanım get alanında yazandan bağımsız olarak name kısmında verdiğini ad ile kullanabilirsiniz.

Route::get('kullanici/profil', function () {
    // veriler
})->name('profil');



Middleware Kullanımı

Belli kurallar çerçevesinde sizin belirtmiş olduğunu Middleware katmanlarında kullanıcıların urller arasında gezinmesini yönetebilirsiniz

Route::middleware(['birinci', 'ikinci'])->group(function () {
    Route::get('/', function () {
        // birinci ve ikinci middleware
    });

    Route::get('kullanici/profil', function () {
        // Ubirinci ve ikinci middleware
    });
});



Prefix Kullanımı

Routing sayfasını(web.php) karmaşıklıktan kurtarmak için tekrar eden urllerinizi prefix sayesinde gruplayabilirsiniz. Örneğin url de admin urlinde sürekli bir işlem varsa ve tekrar ediyorsa bunu gruplayarak hem kod okunuşunu kolaylaştırıp hemde düzenli bir yapı haline sokabilirsiniz.

Route::prefix('admin')->group(function () {
    Route::get('yoneticiler', function () {
        // bununla aynı şey "/admin/yoneticiler"
    });
});



Umarım laravel serisinin ilk makalesini beğenmişsinizdir. Eklemek istediğiniz veya kaçırdığım noktalar varsa mutlaka yorumla beni uyarın, sevgiler :)


Yapılan Yorumlar
Erdem OFLAZ

Bir mum, diğer mumu tutuşturmakla ışığından bir şey kaybetmez.
 Kategoriler
 Popüler yazılar