View Composer, Blade şablonlarında tekrarlanan kodları azaltmak için kullanılan bir tekniktir.

View Composer Nedir?

View Composer‘lar, Blade şablonlarında kullanılan verileri hazırlamak için kullanılır. MVC modelinin Controller kısmından ayrılmazlar. Veritabanı sorguları yaparak verileri hazırlamanız gerekmez. View Composer’lar, view dosyalarının üst kısmında tanımlanan ve belirli bir Blade şablonunda kullanılan değişkenleri oluşturmak için kullanılır.

View Composer Nasıl Kullanılır?

View Composer’lar, App/Providers/Altındaki Servis Sağlayıcılarında tanımlanabilir. Bu servis sağlayıcıları, uygulamanın başlatılması sırasında çalıştırılır ve view composer’ları kaydederler. Örneğin, “composer:post.show” adlı bir view composer tanımlayalım:

<?php

namespace App\Providers;

use Illuminate\Support\Facades\View;
use Illuminate\Support\ServiceProvider;

class ComposerServiceProvider extends ServiceProvider
{
    public function boot()
    {
        View::composer('post.show', function ($view) {
            $view->with('popularPosts', Post::popular()->get());
        });
    }
}

Yukarıdaki kodda, “post.show” Blade şablonu için bir view composer tanımladık. View composer’ın görevi, popüler yayınları hazırlamak ve bunları değişken olarak view’a aktarmaktır.

View Composer Kullanmanın Faydaları Nelerdir?

View Composer kullanmanın en büyük faydalarından biri, kod tekrarını azaltmaktır. Veritabanı sorgularına gerek kalmadan, gereksiz yere kod yazmadan ve hızlı bir şekilde view dosyalarını hazırlayabilirsiniz. Dahası, view composer’larınızı düzenli bir şekilde kullanarak, projenizde daha düzenli ve okunaklı bir kod oluşturabilirsiniz.

View Composer ile Model Özelliklerine Nasıl Erişebilirim?

View Composer’lar, Controller’daki gibi model özelliklerine erişmenizi sağlar. Yani, App/Providers/ Altındaki Servis Sağlayıcılarınızda modeli kullanmak için gereken modelleri dahil etmeniz yeterlidir.

Hangi Blade Şablonlarında View Composer Kullanabilirim?

View Composer’lar, herhangi bir Blade şablonunda kullanılabilir. Şablonunuzu belirttiğinizden emin olun ve düzenli olarak kullandığınız Blade şablonlarınız için view composer’lar tanımlayın.

View::composer('layouts.app', function($view) {
    $categories = Category::all();
    $view->with('categories', $categories);
});

Yukarıdaki kod örneğinde, layouts.app Blade şablonu için bir view composer tanımlıyoruz. View’da tüm kategorileri aldık ve “categories” değişkenini view’a aktardık.

Birden fazla view composer tanımlayabilir miyim?

Evet, birden fazla view composer tanımlayabilirsiniz. Servis sağlayıcınızda sadece kullanmak istediğiniz her view composer için yeni bir fonksiyon tanımlayın.

View Composer’lar ile model özelliklerine nasıl erişebilirim?

View Composer’lar, Controller’daki gibi model özelliklerine erişmenizi sağlar. Yani, App/Providers/Altındaki Servis Sağlayıcılarını

Sonuç olarak, Laravel View Composer kullanımı oldukça faydalıdır ve kod tekrarını azaltmanıza yardımcı olur. Bu makalede, Laravel’in View Composer özelliği nedir, nasıl kullanılır ve ne tür faydalar sağlar hakkında bilgi verdik.

Shares:

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir