Laravel Route(Yönlendirme) Kavramı
Yönlendirme Laravel'deki temel kavramlardan biridir. Laravel'de yönlendirme, tüm uygulama taleplerinizi belirttiğiniz, controlere yönlendirmenizi sağlar. Laravel'deki ana ve birincil yollar, bir URI'yi (Tekdüzen Kaynak Tanımlayıcı) bir closure fonksiyon ile birlikte kabul eder, çünkü basit ve etkileyici bir yönlendirme yöntemi olması gerekir. Bu bölümde Laravel'in yönlendirme kavramı hakkında bilgi edineceksiniz.
Laravel'de tüm istekler Route yardımı ile eşleştirilir. Temel yönlendirme, isteği ilgili controllere yönlendirir.
Laravel'de yönlendirme aşağıdaki kategorileri içerir:
- Temel Yönlendirme
- Rota parametreleri
- İsimli Rotalar
Tüm uygulama Rotaları routes/web.php
dosyasına kaydedilir. Bu dosya Laravel'e yanıt vermesi gereken URI'leri söyler ve ilgili denetleyici buna özel bir çağrı verir. Aşağıda Laravel'in açılış sayfası rotası dosyası ve routes dizinin yapısını göstermektedir.
Route:: get ('/', function () {
return 'Merhaba PHP Dünyası';
});
Route class'ın get methodu çağrılıyor "/" Anasayfa çalıştığında bir closure fonksiyon döndürülüyor.
ÖRNEK:
Route::get('/deneme', function() {
return "Deneme sayfası";
});
Yukarıdaki örnekte, URL'ye /deneme
Şeklinde girilmiş bu nedenle web tarayıcısına localhost:8000/deneme
URL'sini girmemiz gerekir.
ÇIKTI:
Kullanılabilir Yönlendirici Yöntemleri
Route::get ('/', function () {
return 'Welcome to index';
});
Route::post('user/test', function () {
return 'Welcome to test';
});
Route::put('user/deneme', function () {
//
});
Route::delete('post/example', function () {
//
});
Bazen birden çok HTTP fiiline yanıt veren bir rota kaydetmeniz gerekebilir. Bunu match
yöntemi kullanarak yapabilirsiniz . Ya da, any
methodu kullanarak tüm HTTP fiillerine yanıt veren bir rota bile kaydedebilirsiniz:
Route::match(['get', 'post'], '/', function () {
//
});
Route::any('/', function () {
//
});
CSRF Koruması
HTML formları POST, PUT yada DELETE tanımlanan rotaları, form dosyasının bir CSRF belirteç alanını içermelidir. Aksi takdirde, istek reddedilecektir.
<form method="POST" action="/profile">
@csrf
...
</form>
Views Route Yapısı
Rotanızın yalnızca bir views
döndürmesi gerekiyorsa, views
yöntemi kullanabilirsiniz. Tam bir rota veya controller tanımlamak zorunda kalmamak için bu yöntem basit bir kısayol sağlar. Yöntem, ilk değişken bir URI kabul eder ve ikinci bağımsız değişken olarak bir views
dosya adıdır.
Route::view('/welcome', 'welcome');
ikinci parametre "welcome", welcome.blade.php
dosyasıdır.
Yönlendirme Rotaları
Laravel'in Rota cephesinde sağladığı farklı methodlar vardır. Bunlardan biri yönlendirme methodur. Method adından da anlaşılacağı gibi, bu method başka bir rotaya yeniden yönlendiren bir URI tanımlarken kullanışlıdır. Aşağıda nasıl kullanılır gösterilmiştir.
Route::redirect('/user', '/admin');
/user
yoluna erişmeye çalışırsanız, /admin
yoluna yönlendirileceğiniz anlamına gelir. Laravel'in bize sağadığı kolaylık.
Gerekli Parametreler
Adından da anlaşılacağı gibi, bunlar web uygulamasını yönlendirmek için zorunlu olarak yakalanması gereken parametrelerdir. Örneğin, bir kullanıcının kimlik numarası (user/id).
http://localhost:8000/user/5
http://localhost:8000/user/Ahmet
Yukardaki URL'leri girerek deneyin.
Route::get('user/{id}', function ($id) {
return $id;
});
Opsiyonel Parametreler
Bir rota tanımına göre, belirtilen parametreleri URL'ye geçirmek isteğe bağlıdır. İsteğe bağlı parametreler soru işareti "?" parametre adından sonra varsa, varsayılan değer ayarlanmıştır. İsteğe bağlı rota tanımları aşağıda gösterilmiştir.
http://localhost:8000/user/Ahmet
http://localhost:8000/user
Yukardaki URL'lare girerek deneyin.
Route::get('user/{name?}', function($name = "null" ) {
return 'Girilen ad: ' .$name;
});
Not :isteğe bağlı parametre ayarladıysanız parametre girilmezse PHP bir hata verecektir. fonksiyondaki değişkenin değerini null
ayarlayın.
Düzenli İfade Kısıtlamaları
Bir route
örneğinde where
yöntemini uygulayarak route parametrenizin biçimini kısıtlayabilirsiniz. where
Yöntem parametresi ve parametre kısıtlı nasıl olması gerektiği tanımlayan bir düzenli ifade adını kabul eder. Bu kısıtlamalar bize ne gibi faydası olur. bu yöntemle injection saldırıları önlenir.
Route::get('user/{name}', function ($name) {
//
})->where('name', '[A-Za-z]+');
Route::get('user/{id}', function ($id) {
//
})->where('id', '[0-9]+');
Route::get('user/{id}/{name}', function ($id, $name) {
//
})->where(['id' => '[0-9]+', 'name' => '[a-z]+']);
İsimli Rotalar
Adlandırılmış yollar, belirli rotalar için URL'lerin veya yönlendirmelerin uygun şekilde oluşturulmasına olanak tanır. name
Yöntemi rota tanımına zincirleyerek bir rota için bir ad belirleyebilirsiniz. bu ad ile kolay, sistem içi linkler oluşturabiliriz.
Route::get('user/test', function () {
//
})->name('test');
controller için rota adları da belirtebilirsiniz:
Route::get('user/test', 'UserProfileController@show')->name('test');
Yukarıdaki örnekte bu route için isimlendirme kullandık. Bu isimlendirmeyi laravel view
içerisinde de şu şekilde kullanıyoruz.
route('test');
HTML sayfasında şöyle kullanılır.
<a href="{{route('test')}}">Test sayfa</a>
Makalede Geçen Bazı Kelimelerin Açıklaması
URI : Uniform Resource Identifier teriminin kısaltılmış halidir. İnternet’te bir kaynağın tam yerine işaret eden (belge veya resim gibi), standart bir formata uygun bir karakter dizgisidir. Bir URL’in altında bulunan bir kaynağın tam yoluna işaret eder. "https://www.webcebir.com/300-laravel-nedir-dersi.html", URI’e bir örnektir.
URL : Uniform Resource Locator teriminin kısaltılmış halidir. Türkçeye doğrudan çevrildiğinde Bir örnek Kaynak Konumlayıcı ya da Tekdüzen Kaynak Bulucu şeklinde çevrilebilir. İnternet’te bir kaynağın yerine işaret eden (belge veya resim gibi), standart bir formata uygun bir karakter dizgisidir. "https://www.webcebir.com", URL’ye bir örnektir.
- HTML
- CSS
- PHP
- JQUERY
- PHOTOSHOP
- JavaScript
- Web Dünyası
- Linux
- MİTHRİL FRAMEWORK
- Laravel
- Git
- React
- HTML LİNK(Bağlantı)EKLEME - LİNK VERME
- HTML YAZI VE RESİM ORTALAMA
- HTML RESME LİNK VERME
- HTML FORM OLUŞTURMA
- CSS YATAY MENÜ YAPIMI
- HTML RESİM EKLEME
- CSS (BOYUT) GENİŞLİK VE YÜKSEKLİK (Width-Height)
- HTML DİV ve SPAN NEDİR?
- HTML ARKAPLANA MÜZİK EKLEME
- KALİTE KAYBETMEDEN RESİMLERİ BÜYÜTME