Kısaca; Laravel’de hangi URL’ye girilince ne yapılacağını belirten yapıya Route denir.
Temel Route işlemleri routes klasöründeki web.php dosyasında belirtilir.
Şimdi detaylara takılmadan bunlara bir göz atalım 🙂
localhost:8000/merhaba adresine girilince geriye direkt olarak bir yazı döndürmek isteyelim. İşte bu kadar basit.
Route::get('/merhaba', function () {
return 'Merhaba Dünya';
});
Peki bu defa localhost:8000/user adresine girilince, UserController isimli Controller‘ımızdaki index fonksiyonunu çalıştıralım.
use App\Http\Controllers\UserController;
Route::get('/user', [UserController::class, 'index']);
Şimdi de localhost:8000/iletisim adresine girilince localhost:8000/bize-ulasin adresine otomatik yönlendirme sağlayalım.
Route::redirect('/iletisim', '/bize-ulasin');
Ayrıca localhost:8000/anasayfa adresine girilince index isimli View şablonumuzu da çağırabiliriz. O da şöyle :
Route::view('/anasayfa', 'index');Çağırdığımız View‘e bir değişkeni parametre olarak da geçebiliriz. Böylece View‘ın içinde o değişkeni kullanabilirsiniz. Örneğin localhost:8000/hakkimizda adresine girilince aboutUs isimli View‘i gösterelim ve ona isim değişkenini gönderelim.
Route::view('/hakkimizda', 'aboutUs', ['isim' => 'yazilimci.org']);
Peki ya parametre içeren bir URL’miz varsa? İşte onu da şöyle tanımlarız.
localhost:8000/kullanici/117 şeklindeki URL’yi tanımlayıp ve id değişkenini parametre olarak alalım.
Route::get('/kullanici/{id}', function ($id) {
return 'Kullanıcı ID : '.$id;
});
URL’deki parametre sayısı birden fazla da olabilir. Örneğin 2 parametreli bir URL’yi de şu şekilde tanımlarız.
Route::get('/haberler/{haber}/yorumlar/{yorum}', function ($haberId, $yorumId) {
//Burada $haberId ve $yorumId değişkenlerini kullanabiliriz.
});
Yanına ? işareti konulan parametre opsiyonel olur. isim parametresi girilmezse bu örnekte değeri null olur.
Route::get('/kullanici/{isim?}', function ($isim = null) {
return $isim;
});
Eğer istersek tanımladığımız Route’a bir isim de verebiliriz. Bu sayede bu route’un yolunu View’lerde kullanabiliriz.
Route::get(
'/kullanici/profil',
[UserProfileController::class, 'show']
)->name('profil');
İsimlendirmiş olduğumuz Route tanımını kullanarak URL oluşturabiliriz. İşte böyle 🙂
$url = route('profil');
Şimdi bir de Controller’da bu isimlendirilmiş Route’a yönlendirme yapalım.
return redirect()->route('profil');
Laravel’de Route işlemleri gözümüzde büyütülmeyecek kadar basit sayılabilir bir konudur.
Yeterli sayıda uygulama ile siz de Route işlemlerinizi kolayca yapabilir hale gelirsiniz.