Laravel 5 Framework Basit Rotalar

Merhaba arkadaşlar bu yazımda sizlere Laravel web çatısının basit rotalarına giriş yapacağız. Rota tanımladığımızda bir url belirleyip o çalıştırıldığında hangi kodların çalışacağını belirliyoruz.

Rota tanımlama

Web tarafında geliştirme yaparken ve 5 sürümünde routes klasörü altında bulunan web.php dosyasını düzenleyeceğiz. Bu dosya da rotalarımızı tanımlayacağız. İlk proje kurulumunda zaten tanımlı bir rota bulunmaktadır. Hemen ilk gelen rotayı inceleyelim.

Route::get('/', function () {
    return view('welcome');
});

Şimdi burada yaptığımız olay Route sınıfından get methodunu çağırıyoruz. İlk parametrede linki tanımlıyoruz. İkinci parametre çeşitli tanımlamalar yapabiliriz ancak burada direk olarak bir Closure tanımlanmış ve burada geriye view methodu döndürülüyor. View methodu resources klasörü altında views klasörü var orada barındırılan tema dosyalarından hangisini ekrana bastıracağınızı seçiyor.

Demeden de geçmeyelim buradaki get o rotaya ulaşım şeklini belirtiyor. Eğer ki bir form üzerinden post ile geleceksek o tanımlamayı get ile değil post ile yapmamız gerekiyor.

Diğer var olan rota methodları

Bu rota sınıfı herhangi bir HTTP işlemine uygun tanımlama yapabilmeye izin veriyor.

Route::get($link, $fonksiyon);
Route::post($link, $fonksiyon);
Route::put($link, $fonksiyon);
Route::patch($link, $fonksiyon);
Route::delete($link, $fonksiyon);
Route::options($link, $fonksiyon);

Bazı durumlarda birden fazla HTTP isteğini aynı şekilde işlemek isteyebilirsiniz. Eğer ki  belirli istek yöntemlerine tanımlama yapmak istiyorsanız match methodunu kullanıyoruz. Hepsi için eşleşme sağlamak istiyorsanız any methodunu kullanıyoruz.

Route::match(['get', 'post', 'put'], $link, function () {
    //
});

Route::any($link, function () {
    //
});

Match üzerinde 3 adet parametre var ilk parametreyi dizi olarak veriyoruz ve bu dizide eşleşme sağlayacağımız methodları tutuyoruz. İkinci parametre klasik link üçüncü parametre de çalışacak fonksiyondur.

You may also like...

Bir cevap yazın

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