Laravel 5 Framework View Katmanına Giriş

Merhaba arkadaşlar bu yazımda view katmanlarına giriş yapacağız. View katmanları HTML kodlarını barındırdığımız katmanlardır. Bu katman sayesinde HTML ile PHP kodlarını ayırıp daha temiz kod yazabiliyoruz. View dosyaları resources/views klasörü altında bulunmaktadır. Laravel içerisinde view katmanı için Blade isimli bir tema motoru vardır. Derslerde bu tema motorunu kullanarak devam edeceğiz.

Örnek bir view dosyası oluşturalım. resources/views/deneme.blade.php

<html>
    <body>
        <h1>Merhaba dünya !</h1>
    </body>
</html>

Bu view dosyasını rotada çalıştırmak için Laravel içerisinde bulunan view yardımcısını kullanıyoruz.

<?php

Route::get('/', function(){
  return view('deneme');
});

Bu rota çalıştırıldığında view dosyasını ekrana bastıracaktır. Şimdi diyelim ki bu rotada veritabanı üzerinden birtakım bilgileri çektik ve view dosyası üzerinde işleme sokup ekrana yazdırmak istiyoruz. Bunun için view helperı yanında with methodunu kullanıyoruz.

<?php

Route::get('/', function(){
  return view('deneme')->with([
    'veri_ismi' => 'Veri değeridir.',
  ]);
});

HTML template yani blade tema motorumuz üzerinde nasıl ekrana yazdıracağımıza bakalım.

<html>
    <body>
        <h1>Burada veri_ismi isimli verinin değeri var, "{{ $veri_ismi }}"</h1>
    </body>
</html>

Çift süslü parantez ile yaptığımızda bazı güvenlik önlemleri için filtrelerden geçiyor eğer ki direkt olarak veriyi ekrana yazdırmak istiyorsanız aşağıdaki şeklinde kullanabilirsiniz.

{!! $veri_ismi !!}

View dosyasının varlığının kontrolü

Öncelikle bir view dosyasının varlığını kontrol etmek istiyorsak View sınıfını kullanacağımızı belirtip ardından exists methodunu kullanmalıyız.

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
// View facade
use Illuminate\Support\Facades\View;

class Deneme extends Controller
{
    public function view_kontrol() {
    // Kontrol edilen view. resources/views/sayfalar/kategori/detay.blade.php
    if(View::exists('sayfalar.kategori.detay')) {
      // View varsa
      return true;
    } else {
      return false;
    }
  }
}

Alt klasörlerdeki view dosyalarını render etmek

Rotalarda bir view geri döndürdüğümüz de parametre olarak view yardımcısına dosyayı belirtiyoruz. Burada belirttiğimiz dosya eğer ki resources/views klasörü altında bulunuyorsa direk olarak view dosyasının adını yazıyoruz. Ancak alt klasörde bir view geri döndürmek istediğimizde klasör adından sonra nokta koyup dosya adını giriyoruz. Örnek verelim.

view('sayfalar.kategori.detay')

Burada resources/views/sayfalar/kategori/detay.blade.php view dosyasını render etmek istediğimizi belirtiyoruz.

You may also like...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir