Php 8 Blade Basics

Php 8 Blade Basics

Blade, Laravel framework'ü için tasarlanmış bir şablon motorudur. Blade, PHP kodunu ve HTML'yi bir arada kullanarak dinamik web sayfaları oluşturmayı kolaylaştırır. Blade, okunabilirliği artırırken, geliştiricilerin kod yazımını hızlandırmasına yardımcı olur. Aşağıda Blade ile ilgili temel kavramlar ve kullanım örnekleri bulunmaktadır.

1. Blade Nedir?

Blade, Laravel ile birlikte gelen bir şablon motorudur. Blade, PHP kodlarını HTML içinde kolay bir şekilde kullanmanıza olanak tanır. Blade dosyaları .blade.php uzantısına sahiptir ve genellikle resources/views dizininde bulunur.

2. Blade ile Basit Kullanım

2.1. Blade Dosyası Oluşturma

resources/views dizininde home.blade.php adında bir dosya oluşturalım:

<!DOCTYPE html> <html lang="tr"> <head> <meta charset="UTF-8"> <title>Anasayfa</title> </head> <body> <h1>Hoş Geldiniz!</h1> <p>{{ $message }}</p> </body> </html>

Bu dosya, bir message değişkenini görüntüleyecektir.

2.2. Kontrolcü Oluşturma

Bir kontrolcü oluşturalım ve görünümü döndürelim:

<?php namespace AppHttpControllers; use IlluminateHttpRequest; class HomeController extends Controller { public function index( ) { $message = "Bu, Blade ile oluşturulmuş bir görünüm örneğidir."; return view('home', ['message' => $message]); } }

2.3. Route Tanımlama

Web routes dosyasına (routes/web.php) aşağıdaki satırı ekleyin:

use AppHttpControllersHomeController; Route::get('/', [HomeController::class, 'index']);

3. Blade Temel Özellikleri

3.1. Değişkenlerin Gösterimi

Blade, PHP değişkenlerini göstermek için süslü parantez ({{ }}) kullanır. Bu yöntem, otomatik olarak HTML özel karakterlerini kaçırır:

<p>{{ $message }}</p>

Eğer özel karakterleri kaçırmadan göstermek isterseniz, {!! !!} kullanabilirsiniz:

<p>{!! $rawHtml !!}</p>

3.2. Kontrol Yapıları

Blade, koşullu ifadeleri ve döngüleri kullanmak için kolay sözdizimi sunar:

Koşullu İfadeler:

@if($user) <p>Hoş geldin, {{ $user->name }}</p> @else <p>Misafir olarak giriş yaptınız.</p> @endif

Döngüler:

<ul> @foreach($items as $item) <li>{{ $item }}</li> @endforeach </ul>

4. Blade Direktifleri

Blade, bazı yerleşik direktifler sunar:

  • @extends: Bir Blade şablonunu genişletmek için kullanılır.
@extends('layouts.app')
  • @section: Bir bölüm tanımlamak için kullanılır.
@section('content') <h1>Başlık</h1> @endsection
  • @yield: Bir şablondaki içeriği belirtmek için kullanılır.
<body> @yield('content') </body>

5. Blade Parçaları

Blade ile parçalar (components) oluşturabilirsiniz. Parçalar, tekrar kullanılabilir UI bileşenleri olarak işlev görür.

Parça Oluşturma:

resources/views/components/button.blade.php:

<button>{{ $slot }}</button>

Parça Kullanma:

<x-button>Click Me</x-button>

6. Blade İle Layout Kullanımı

Blade ile layout kullanarak, uygulamanızda ortak bir şablon oluşturabilirsiniz.

Layout Dosyası:

resources/views/layouts/app.blade.php:

<!DOCTYPE html> <html lang="tr"> <head> <meta charset="UTF-8"> <title>@yield('title')</title> </head> <body> @yield('content') </body> </html>

Kullanım:

@extends('layouts.app') @section('title', 'Anasayfa') @section('content') <h1>Hoş Geldiniz!</h1> @endsection

Sonuç

Blade, Laravel ile geliştirme yaparken kullanışlı ve güçlü bir şablon motorudur. Blade’in sağladığı basit sözdizimi ile dinamik içerikler oluşturabilir, kontrol yapıları kullanabilir ve şablonlarınızı daha düzenli bir şekilde oluşturabilirsiniz. Laravel ile birlikte Blade kullanmak, geliştirme sürecinizi hızlandırır ve kodunuzu daha temiz hale getirir. Daha fazla bilgi için Laravel’in resmi dökümantasyonuna göz atabilirsiniz: Laravel Blade Dökümantasyonu.



Yorum Ekle

Üzerine gel