Giriş: Neden Routing, Laravel’in Temel Taşıdır
Giriş: Neden Routing, Laravel’in Temel Taşıdır
Her web uygulaması bir istekle başlar. Kullanıcı bir URL yazar, bir bağlantıya tıklar veya bir form gönderir. Sonrasında ne olacağı tamamen routing‘e bağlıdır.
Laravel’de routing, şunları belirler:
- Belirli bir URL için hangi kodun çalışacağı
- Verilerin uygulamanızda nasıl akacağını
- Bir isteğin sayfa, JSON veya hata dönüp dönmeyeceği
Routing konusunda derinlemesine bilgi sahibiyseniz, Laravel’in iç işleyişini de anlamışsınız demektir. Bu rehber, sizi temel bilgilerden profesyonel routing uygulamalarına götürecektir.
Laravel’de Routing Nedir?
Laravel’de Routing Nedir?
Routing, bir URL ve HTTP yönteminin uygulamanızda belirli bir eyleme eşlenmesi sürecidir.
Basit bir ifadeyle:
“Birisi bu URL’yi ziyaret ettiğinde, bu kodu çalıştır.” Örnek:
- URL:
/posts - Method:
GET - Eylem: Tüm blog gönderilerini göster
Laravel, bu süreci temiz, okunabilir ve ölçeklenebilir hale getirir.
Laravel’de Routes Nerede Bulunur?
Laravel’de Routes Nerede Bulunur?
Laravel, routelarını routes/ dizininin içinde saklar.
En sık kullanılan route dosyaları şunlardır:
web.php→ Tarayıcı tabanlı route’lar (görünümler, formlar, oturumlar)api.php→ API route’ları (JSON yanıtlar, state-less)console.php→ Artisan komutlarıchannels.php→ Yayıncı route’ları
Çoğu başlangıç seviyesi ve blog tarzı uygulamada, web.php üzerinde en çok çalışacaksınız.
İlk Laravel Route’unuzu Oluşturma
İlk Laravel Route’unuzu Oluşturma
routes/web.php dosyasını açın.
Route::get(“/”, function () {
return view(‘welcome’);
});
Bu şu anlama gelir:
- Birisi
/adresini ziyaret ettiğinde GETmetodunu kullanarak- Laravel,
welcomegörünümünü döndürür
Bu tek satır, Laravel’in felsefesini göstermektedir: basit, okunabilir, ifade edici.
Laravel Routing’de HTTP Yöntemlerini Anlamak
Laravel Routing’de HTTP Yöntemlerini Anlamak
Laravel, tüm standart HTTP yöntemlerini destekler:
GET→ Veri almak veya sayfaları göstermekPOST→ Veri göndermekPUT→ Tüm kaynakları güncellemekPATCH→ Kısmi kaynakları güncellemekDELETE→ Veriyi silmek
Örnek:
Route::post(‘/posts’, function () {
return ‘Post Created’;
});
Laravel, metod ve URL’yi otomatik olarak bir araya getirir.
Route Parametreleri: URL’leri Dinamik Hale Getirme
Route Parametreleri: URL’leri Dinamik Hale Getirme
Statik URL’ler sınırlayıcıdır. Gerçek uygulamalar dinamik verilere ihtiyaç duyar.
Zorunlu Parametreler
Zorunlu Parametreler
Route::get(‘/posts/{id}’, function ($id) {
return “Post ID: ” . $id;
});
Kullanıcı /posts/5 ziyaret ettiğinde, Laravel 5‘i route’a geçirir.
Opsiyonel Parametreler
Opsiyonel Parametreler
Route::get(‘/user/{name?}’, function ($name=”Ziyaretçi”) {
return “Merhaba ” . $name;
});
Opsiyonel parametrelerin varsayılan değerleri olmalıdır.
Route Kısıtlamaları (Route Düzeyinde Doğrulama)
Route Kısıtlamaları (Route Düzeyinde Doğrulama)
Laravel, parametreleri kısıtlama olanağı tanır.
Route::get(‘/posts/{id}’, function ($id) {
return “Post ID: ” . $id;
})->where(‘id’, ‘[0-9]+’);
Bu, şunları garanti eder:
/posts/5çalışır/posts/abcçalışmaz
Route kısıtlamaları, ek bir güvenlik ve netlik katmanı ekler.
İsimlendirilmiş Route’lar: Bakımı Kolay Kod Yazmak
İsimlendirilmiş Route’lar: Bakımı Kolay Kod Yazmak
URL’leri kodlamak kötü bir uygulamadır. İsimlendirilmiş route’lar bu problemi çözer.
Route::get(‘/dashboard’, function () {
return ‘Dashboard’;
})->name(‘dashboard’);
Blade’de kullanım:
Dashboard
Faydaları:
- URL’ler değişebilir, görünümleri bozmadan
- Daha temiz, profesyonel kod
- Büyük projelerde zorunludur
Route Grupları: Route’ları Doğru Bir Şekilde Organize Etme
Route Grupları: Route’ları Doğru Bir Şekilde Organize Etme
Uygulamalar büyüdükçe, route’ların düzenli kalması gerekir.
Prefix Grubu
Prefix Grubu
Route::prefix(‘admin’)->group(function () {
Route::get(‘/dashboard’, function () {
return ‘Admin Dashboard’;
});
Route::get(‘/users’, function () {
return ‘Admin Users’;
});
});
Sonuç URL’leri:
/admin/dashboard/admin/users
Middleware Grubu
Middleware Grubu
Route::middleware([‘auth’])->group(function () {
Route::get(‘/profile’, function () {
return ‘Kullanıcı Profili’;
});
});
Bu, yalnızca kimlik doğrulaması yapılmış kullanıcıların bu route’lara erişmesini garanti eder.
Controller’lar ve Routing (En İyi Uygulama)
Controller’lar ve Routing (En İyi Uygulama)
Route’lar temiz kalmalıdır. İş mantığı controller’lar içinde olmalıdır.
Route’dan Controller’a
Route’dan Controller’a
Route::get(‘/posts’, [PostController::class, ‘index’]);
Controller:
class PostController extends Controller
{
public function index()
{
return view(‘posts.index’);
}
}
Bu ayrım şunları artırır:
- Okunabilirlik
- Test edilebilirlik
- Ölçeklenebilirlik
Resource Routes: Profesyonel CRUD Routing
Resource Routes: Profesyonel CRUD Routing
Laravel, CRUD işlemleri için resource route’ları sunar.
Route::resource(‘posts’, PostController::class);
Bu tek satır, şunlar için route’lar oluşturur:
- index
- create
- store
- show
- edit
- update
- destroy
Bu, gerçek Laravel uygulamalarının verileri etkin bir şekilde yönetme şeklidir.
Route Model Binding (Laravel Büyüsü Basitçe Açıklandı)
Route Model Binding (Laravel Büyüsü Basitçe Açıklandı)
Kayıtları manuel olarak almak yerine:
Route::get(‘/posts/{id}’, function ($id) {
return Post::find($id);
});
Laravel, şunu sağlar:
Route::get(‘/posts/{post}’, function (Post $post) {
return $post;
});
Laravel otomatik olarak:
- Kayıtları bulur
- Bulamazsa 404 döner
- Kodu temiz tutar
Bu özellik zaman kazandırır ve hataları önler.
API Routing Temelleri (Laravel 12 Uyumlu)
API Routing Temelleri (Laravel 12 Uyumlu)
API route’ları api.php içinde tanımlanır.
Route::get(‘/posts’, function () {
return response()->json([
‘posts’ => []
]);
});
Ana farklılıklar:
- Oturum durumu yoktur
/apiile ön eklenir- Ön uç çerçeveleri ve mobil uygulamalar için optimize edilmiştir
Performans İçin Route Önbellekleme
Performans İçin Route Önbellekleme
Üretimde, route’lar önbelleğe alınabilir.
php artisan route:cache
Faydaları:
- Daha hızlı route çözümlemesi
- Geliştirilmiş performans
- Büyük uygulamalar için gereklidir
Geliştirme sırasında asla route önbelleklemesi yapmayın.
Başlangıçta Yapılan Yaygın Routing Hataları
Başlangıçta Yapılan Yaygın Routing Hataları
- Route’lar içinde mantık yazmak
- İsimlendirilmiş route kullanmamak
- Route gruplarını göz ardı etmek
- API ve web route’larını karıştırmak
- Middleware korumasını unutmamak
Bu hatalardan kaçınmak, Laravel becerilerinizi önemli ölçüde geliştirecektir.
Laravel Routing İçin En İyi Uygulamalar
Laravel Routing İçin En İyi Uygulamalar
- Route’ları ince tutun
- Controller kullanın
- Önemli route’lara isim verin
- İlgili route’ları gruplandırın
- Middleware’i dikkatli kullanın
- REST standartlarına uyun
Bu uygulamalar, profesyonel Laravel projelerinde sıkça kullanılmaktadır.
Routing’in Laravel İstek Yaşam Döngüsündeki Yeri
Routing’in Laravel İstek Yaşam Döngüsündeki Yeri
Routing, güvenlik görevlisidir. Middleware çalıştıktan sonra, Laravel routing kullanarak şunları belirler:
- Hangi controller’ın çalışacağı
- Hangi yanıtın döneceği
Routing’i anlamak, sorunları daha hızlı çözmenizi ve daha temiz uygulamalar yazmanızı sağlar.
Sonuç: Routing’i Usta Şimdi Laravel’i Usta
Sonuç: Routing’i Usta Şimdi Laravel’i Usta
Laravel routing yalnızca URL’lerle ilgili değildir. Şunu tanımlar:
- Uygulama yapısı
- Güvenlik akışı
- Kullanıcı deneyimi
Routing’i ustaca öğrenince, Laravel karmaşık gelmekten çıkacak ve güçlenmenizi sağlayacaktır.
Bir Laravel geliştiricisi olma konusunda ciddiyseniz, routing, isteğe bağlı bir bilgi değildir — temeldir.
Kaynak: Orijinal Makale
- Giriş: Neden Routing, Laravel’in Temel Taşıdır
- Laravel’de Routing Nedir?
- Laravel’de Routes Nerede Bulunur?
- İlk Laravel Route’unuzu Oluşturma
- Laravel Routing’de HTTP Yöntemlerini Anlamak
- Route Parametreleri: URL’leri Dinamik Hale Getirme
- Route Kısıtlamaları (Route Düzeyinde Doğrulama)
- İsimlendirilmiş Route’lar: Bakımı Kolay Kod Yazmak
- Route Grupları: Route’ları Doğru Bir Şekilde Organize Etme
- Controller’lar ve Routing (En İyi Uygulama)
- Resource Routes: Profesyonel CRUD Routing
- Route Model Binding (Laravel Büyüsü Basitçe Açıklandı)
- API Routing Temelleri (Laravel 12 Uyumlu)
- Performans İçin Route Önbellekleme
- Başlangıçta Yapılan Yaygın Routing Hataları
- Laravel Routing İçin En İyi Uygulamalar
- Routing’in Laravel İstek Yaşam Döngüsündeki Yeri
- Sonuç: Routing’i Usta Şimdi Laravel’i Usta


