Laravel’de View (Görüntüleme) İşlemleri

tarafından
352
Laravel’de View (Görüntüleme) İşlemleri
Güzel Hosting

Bu yazılımızda MVC Yazımızda belirtmiş olduğumuz view katmanının laravel framework sisteminde kullanımından bahsedeceğim. Bilindiği üzere MVC Sistemlerde view katmanları kullanıcının kullanımında olan ve görsellik içeren kısımdı laravel sisteminde de aynısı geçerlidir. View yapılarına laravel 5.2’de resource/views klasörü altında yer almaktadır. Bu kısımda blade dosyalarımızı bulunduracağız. Diğer js,image dosyalarımızı ise direk public klasörünün içerisine atarak blade dosyasında asset fonksiyonu ile ulaşacağız.
Örnek Kullanımı
Laravel View
Laravel çok gelişmiş bir sistem olan blade engine kullanmaktadır. Blade engine ile artık php etiketlerini açıp kapatma zahmetinde kurtulduğumuz gibi layouts yapılarında ise çok işimize yarayacak çözümler sunulmaktadır.

Blade Engine Nedir?

Biraz blade engine’den bahsetmem gerekirse daha önce php ‘de çokca kullandığımız header, footer yapısından kurtularak master file ile bu durumu çok daha temiz bir çözüm ile yapıyoruz. Bu işlemin yapılmasında bahsedelim birazda önerim views klasörü altına layouts adında bir klasör oluşturarak içerisinde master.blade.php adında bir dosya oluşturalım. Bu dosya içerisine sitemizin sabit olan yerlerini aynı header,footer yapısındaki gibi buraya yapıştırınız ve değişecek content kısımlarına alt kısımdaki örnekleri uygulayınız.
Laravel Blade Yield
Burada yazmış olduğumuz @yield() kodu bu kısıma ulaşabilmemize olanak tanıyacaktır.
Bu işlem için değişen sayfamızın blade dosyasını oluşturuyoruz, en üst kısımına @extends() kodu ile bir nevi master dosyamızın include işlemi yapıyoruz.
Bir örnekle açıklarsak

Extends ile master file yolumuzu belirtiyoruz burada nokta (.) kullandım isterseniz normal slash (/) ‘da kullanabilirsiniz bu konuda laravel size özgürlük sunmaktadır. Section ile kullanmak istediğimiz yield adını belirtiyoruz ve içeriği bu kısma yazıyoruz. Bu yapı ile çok basit bir ve hızlı bir şekilde düzeninizi sağlayabilirsiniz.
Blade Engine Konusunda bir çok rahatlık bizi bekliyor olacaktır. Aslında blade engine ayrı bir makale olarak yazılabilirdi ancak sizlere view yapılarını anlatırken anlatmak istedim. Blade engine ile normalde php etiketlerini açmadan kullanamadığımız if,foreach,for,while komutlarını burada @ işareti ile çok basit bir şekilde yapabiliyoruz. Örnek vermek gerekirse.

diğer örneklerde aynı şekilde kullanabiliriz.
Bu işlemlerde artık hem fikirsek view katmanında işlememiz gereken veriyi nasıl gönderebiliriz birazda bundan bahsedelim.

Laravel View Katmanına Veri Aktarma

view katmanına veriyi MVC Yapısında verileri controller katmanından gönderilmesi gerekmektedir. Bu işlemler için tekrar controller katmanına giderek view’e return yapan methodu buluyoruz.
Laravel’de iki türlü veri gönderimi yapabiliriz, ilk olarak sadece tek veri gönderiminde kullanacağımız with komutu bu koda örnek vermemiz gerekirse;

Bu gönderdiğimiz veriyi view katmanından <?php echo $id; ?> ilede yazabileceğimiz gibi blade engine yardımıyla {{$id}} ilede yazabiliriz.
Diğer bir yöntem ile çoklu veri gönderiminde ise kullandığımız compact komutu olacaktır bunada örnek vermemiz gerekirse;

Bu işlemide bu şekilde yapabiliriz. Burada dikkat etmemiz gereken fonksiyondan almış olduğumuz değişkeni compact ile view’e aktardığımızda bir değişken olarak değilde string bir ifade gibi göndermemiz gerekmektedir.

Üst kısımdaki örnek’te ise route’den gelen id değişkenini User modelimizde where ile kontrol ettikten sonra user değişkeninin tüm verilerini view katmanına compact ile aktarımını yaptık.
Model kullanımını ilerleyen yazılarımda bahsedeceğim.
view’e aktarmış olduğumuz user foreach ile bakabileceğimi gibi direk nesne tabanlı olarak’ta bakabiliriz. Yani {{$user->email}} dersek email adresine ulabiliriz.
// Ek bilgi olarak view cp.dashboard diğer bir kullanım şekli cp/dashboard ‘dır. Yani view katmanında cp klasörünün altındaki dashboard.blade.php’dir.