Merhaba Phphocasi.com.tr takipçileri,
Laravel ile eğitim serimizin bir önceki dersinde Controller yapısını ve nasıl oluşturulacağını yazmıştım. Bu yazımda ise Laravel Controller veri aktarımı konusunu anlatmaya çalışacağım.
Route ile Laravel Controller Veri Aktarımı
Daha önceki derslerde bahsettiğimiz gibi route Laravel yapısı için gelen isteklerin yönlendirildiği alanlardır. Yani route ile controller yönlendirmesi yapabileceğimiz için veri aktarımını da yapabilmemiz gerekli. Başka bir değişle; .htaccess ile yaptığımız php dosyalarına veri aktarımını route ile yapabiliyoruz.
Yukarıdaki ekran görüntüsünde sol bölüm routes/web.php ve sağ bölümdeki görsel ise app/Http/Controllers/PageController.php. Sol tarafa dikkat ederseniz iki adet yeni route var. Bunlar arasındaki fark tek bir soru işaretidir. Bu soru işaretinin anlamı ise “id” değişkeni olabilir ya da olmayabilir olarak değerlendirilir. Yani
Route::get("sayfa/{id}", "PageController@index");
olan kod satırı için “id” mutlaka olmalıdır. Olmadığında route hatası alınacaktır.
Fakat;
Route::get("sayfa/{id?}", "PageController@index");
olan kod satısı içinse “id” değişkeni şart değildir.
Bu şekildeki url adreslerini contoller fonksiyonunda ise değişken atayarak kullanıyoruz. Sağ tarafta bulunan index($id) fonksiyonu url adresinden gelen id yi controller içinde kullanılabilir duruma getiriyor.
View ile Laravel Controller Veri Aktarımı
Route ile gelen, controller içerisinde oluşturulan ve/ya veritabanı ile yapılan işlemler sonrası getirilen verilerin view tarafına ulaştırılmasıdır.
Bu aşamada yukarıdaki ekran görüntüsünü baz aldığımızda page view’a aktarmak için;
return view("page", compact("id")); ya da return view("page")->with("id", $id);
Yukarıdaki kod blokları iki şekilde de aynı şekilde sonuçlanır ve bu şekilde contorller ile view arasında veri aktarımını sağlamış oluruz. İlerki derslerde değinebilir ama yeri gelmişken view içerisinde bu değişkeni nasıl yazdırıldığından bahsetmek istiyorum. Blade dosyasında sadece yazdırmak için
Gelen id: {{$id}}
kod bloğunu kullanabildiğimiz gibi
Gelen id: <?php echo $id; ?>
şeklinde de bildiğimiz php ile yazdırabiliriz.
Phphocasi.com.tr için yazdığım bu eğitimde Laravel Controller veri aktarımı nasıl yapılır sorusuna cevap vermeye çalıştım. Daha fazla detaylı bilgi için laravel dökümanından yararlanabilirsiniz.
Tüm Laravel Derslerimiz için tıklayınız.
Phphocasi.com.tr üzerinden yayınladığım laravel eğitimlerine devam edeceğiz. Yazımız ile ilgili tüm sorularınızı yorum bölümden ulaştırabilirsiniz. Bunun dışındaki diğer sorularınız için sorucevap.phphocasi.com.tr sitesini kullanabilirsiniz.
Umarım sizin için yararlı olmuştur. Okuduğunuz için teşekkürler. Daha fazla kişinin okuması için paylaşmayı unutmayın…
72