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.