route, sayfalar arası geçiş yapmamızı sağlayan, içerisine fonksiyon ve parametre verebileceğimiz bir yapıdır. routes/web.php dosyasında bu değişiklikler yapılır.
Temel route işlemleri
Route::get('/', function () {
return view('welcome');
});
/*
Bu yol https://www.url.com adresini çağırır ve sayfada welcome view
dosyasını görüntüler.
*/
Route::get('/iletisim', function () {
return view('contact');
});
/*
Bu yol https://www.url.com/iletisim adresini çağırır ve sayfada contactview
dosyasını görüntüler.
*/
Route::get('/param/{ad}/{soyad}', function ($ad,$soyad) {
return $ad." ".$soyad;
})->name('parametre');
/*
Bu yol https://www.url.com/param/ahmet/can adresini çağırır. Parametre
olarak aldığı ahmet ve can kelimelerini sayfa içerisinde gösterir.
Bu adrese girmek için ad ve soyad girmek zorunludur. Eğer ad ve soyad
parametrelerini girmek istemiyorsak /param/{ad?}/{soyad?} olarak
yazılabilir.
*/
Regex kullanımı
regex, karakterler dizisinin belirtilen kurallar çerçevesinde kısa yoldan ve esnek bir biçimde belirlenmesini sağlayan bir yapıdır.
Route::get('/regex/{char}', function ($ad) {
return $ad;
})->where('ad', '[0-9]+');
/*
Örneğin burada char parametresinin yalnızca sayılardan oluşacağını belirttim.
https://www.url.com/regex/a olarak girersem 404 hatası ile karşılaşırım.
Ancak https://www.url.com/regex/5 olarak girersem sayfada 5 sonucunu görürüm.
*/
diğer regex komutları;
->where('ad', '[0-9]+') --> ad parametresi sadece sayılardan oluşabilir.
->where('ad', '[A-Za-z]+'); --> ad parametresi sadece büyük ve küçük harflerden oluşur.
->where('ad', '[A-Z]+'); --> ad parametresi sadece büyük harflerden oluşur.
->where('ad', '[a-z]+'); --> ad parametresi sadece küçük harflerden oluşur.
Route::get('/deneme', function () {
return 2+6;
});
// Sayfaya bir işlem de return edebilirsiniz.
/*
Yukarıdaki işlemler hep get üzerineydi. Eğer bir post işlemi yapmışsak
bunu post ile belirtmeliyiz.
*/
Route::post('/post', function () {
return $_SERVER['REQUEST_METHOD'];
});
// Burada gönderilen isteğin türünü return ettik. Çıktısı POST olur.
wep.php de kullanabileceğiniz tüm route işlemlerine bakmak için;