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.