Laravel Controller Veri Aktarımı

Merhaba Mobilhanem.com 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.

laravel controller veri aktarımı
laravel controller veri aktarımı

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.

 

Mobilhanem.com 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.

Mobilhanem.com ü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.mobilhanem.com 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

Onur Üre

Aslen jeoloji mühendisi olup hiç mesleğini yapmaya fırsat bulamayan ve gönlünde hep bilgisayar ve programlama olan, evden (home-office) çalışma şekline bayılan, evli, 2 kedi ve 1 tavşan babası, sokaktaki her köpek, kedi, kuşun abisi olmaya çalışan biriyim. Lütfen bir kap su bir kap yemek her köşe başına...

2 Yorum

  • Anlatım çok yetersiz. Laravel’i en az kendisi kadar bilen birine anlatır gibi anlatılmış. Özellikle Route konusu çok daha detaylı anlatılmalıydı.

    • Merhaba,

      Yorum için teşekkürler. Siz başka kaynaklardan inceleyip daha iyisini yapabilirsiniz umuyorum ki. benden daha fazla kişiye yardımcı olabileceğinizi düşünüyorum. İyi çalışmalar size

Haftalık Bülten

Mobilhanem'de yayınlanan dersleri haftalık mail almak ister misiniz?