PHP 8 Templates 2026 Güncel

Php 8 Templates Nedir?

7 dk okuma süresi 552 görüntülenme 2024-09-16 4.9 (14 değerlendirme)

PHP'de şablonlar (templates), sunucuda çalışan web uygulamalarında HTML ve PHP kodlarının karışımını daha düzenli hale getirmek, kod tekrarını önlemek ve projeyi daha modüler kılmak amacıyla kullanılır. PHP 8'de şablon yapıları, bu amacı daha rahat ve etkili şekilde gerçekleştirmek için tercih edilir.

Bir template engine kullanarak veya PHP'nin kendisiyle şablonlar oluşturabilirsiniz. Bu açıklamada, PHP ile basit şablon kullanımını ve popüler şablon motorlarından olan Twig ve Blade gibi sistemlere de kısa bir giriş yapacağım.

1. PHP İle Temel Şablonlama

PHP'de bir HTML şablonu içine PHP kodu ekleyerek temel bir şablon sistemi oluşturabilirsiniz. Bu yöntem, başta küçük projeler için uygun olsa da karmaşık projelerde genellikle bir şablon motoru tercih edilir.

Örnek: Temel PHP Şablon Dosyası

<!DOCTYPE html> <html> <head> <title><?php echo $sayfaBasligi; ?></title> </head> <body> <h1><?php echo $baslik; ?></h1> <p><?php echo $icerik; ?></p> </body> </html>

Bu örnekte, PHP değişkenleri ($sayfaBasligi, $baslik, $icerik) HTML kodunun içine eklenmiştir. Bu şablonu kullanarak her sayfa için farklı bir başlık ve içerik ekleyebilirsiniz.

Şablon Kullanımı:

$sayfaBasligi = "Anasayfa"; $baslik = "Hoşgeldiniz"; $icerik = "Bu, anasayfa içeriğidir."; include 'template.php';

Bu PHP kodu, template.php dosyasını şablon olarak kullanır ve değişkenleri doldurur. Böylece şablon dosyası farklı sayfalar için tekrar kullanılabilir.

2. Şablon Motorları

Büyük projelerde, kodu daha düzenli ve modüler hale getirmek için genellikle bir şablon motoru kullanılır. Bu motorlar PHP ve HTML kodunu ayırmaya, daha temiz ve kolay yönetilebilir bir yapı oluşturmaya yardımcı olur. PHP 8'de popüler şablon motorları şunlardır:

a. Twig

Twig, Symfony framework'ünde kullanılan ancak diğer projelere de entegre edilebilen popüler bir şablon motorudur. PHP'deki HTML ile iç içe geçen kodları, daha temiz ve anlaşılır bir hale getirir. Twig'in temel avantajı, şablonların güvenli, hızlı ve daha az hata içerir şekilde çalışmasını sağlamasıdır.

Örnek: Twig Şablonu

<!DOCTYPE html> <html> <head> <title>{{ sayfaBasligi }}</title> </head> <body> <h1>{{ baslik }}</h1> <p>{{ icerik }}</p> </body> </html>

Bu örnekte, PHP kodu yerine Twig'in değişken sintaksı olan {{ }} kullanılır. Bu şablon, Twig motoru tarafından işlenir ve sonuç olarak HTML çıktısı oluşturulur.

Twig Kullanımı PHP ile:

require_once '/path/to/vendor/autoload.php'; $loader = new TwigLoaderFilesystemLoader('/path/to/templates'); $twig = new TwigEnvironment($loader); echo $twig->render('template.twig', [ 'sayfaBasligi' => 'Anasayfa', 'baslik' => 'Hoşgeldiniz', 'icerik' => 'Bu, anasayfa içeriğidir.' ]);

Bu kod, Twig motorunu kullanarak template.twig dosyasını işleyip çıktısını oluşturur.

b. Blade (Laravel)

Blade, Laravel framework'ünde kullanılan varsayılan şablon motorudur. Basit ve anlaşılır bir sintaksı vardır ve PHP kodlarını rahatça kullanmanıza olanak tanır. Blade aynı zamanda, şablonlarda "inheritance" (kalıtım) ve "section" gibi özellikler sağlar.

Örnek: Blade Şablonu

<!DOCTYPE html> <html> <head> <title>{{ $sayfaBasligi }}</title> </head> <body> <h1>{{ $baslik }}</h1> <p>{{ $icerik }}</p> </body> </html>

Blade şablonlarında PHP değişkenleri {{ }} ile kullanılır ve Blade motoru ile işlenir.

c. Smarty

Smarty de bir başka popüler PHP şablon motorudur. PHP'den ayrı bir şablonlama dili sağlar ve hız ve güvenlik avantajları sunar.

Örnek: Smarty Şablonu

<!DOCTYPE html> <html> <head> <title>{$sayfaBasligi}</title> </head> <body> <h1>{$baslik}</h1> <p>{$icerik}</p> </body> </html>

Smarty'nin değişken sintaksı {} ile belirlenir. Değişkenler PHP'de ayarlanır ve Smarty motoru tarafından şablon dosyası işlenir.

Smarty Kullanımı:

require('libs/Smarty.class.php'); $smarty = new Smarty; $smarty->assign('sayfaBasligi', 'Anasayfa'); $smarty->assign('baslik', 'Hoşgeldiniz'); $smarty->assign('icerik', 'Bu, anasayfa içeriğidir.'); $smarty->display('template.tpl');

3. Şablonlarda Kalıtım (Template Inheritance)

Twig ve Blade gibi şablon motorları, şablonlarda kalıtımı destekler. Bu özellik, farklı sayfalar için tekrar eden HTML yapılarının (örneğin, başlık ve alt bilgi gibi) bir kez tanımlanmasını ve diğer şablonlarda yeniden kullanılmasını sağlar.

Twig'de Kalıtım:

base.twig:

<!DOCTYPE html> <html> <head> <title>{% block title %}Başlık{% endblock %}</title> </head> <body> <header> <h1>Site Başlığı</h1> </header> <div class="content"> {% block content %}{% endblock %} </div> <footer> <p>Site Alt Bilgisi</p> </footer> </body> </html>

anasayfa.twig:

{% extends "base.twig" %} {% block title %}Anasayfa{% endblock %} {% block content %} <p>Bu anasayfa içeriğidir.</p> {% endblock %}

Bu örnekte, anasayfa.twig dosyası base.twig şablonundan kalıtım alarak onun yapısını kullanır ve sadece içeriği özelleştirir.

4. PHP İçinde Şablon Motoru Kullanımı

Bir şablon motorunu kullanmak için genellikle şu adımlar izlenir:

  1. Kurulum: Şablon motoru projenize dahil edilir. Örneğin, Composer kullanarak Twig ya da Blade kurulabilir.
  2. Şablon Dosyası Oluşturma: HTML ve şablon değişkenlerinin yer aldığı .twig, .blade.php veya .tpl dosyaları oluşturulur.
  3. Şablonun İşlenmesi: PHP kodunda, şablon motoru çağrılır ve gerekli değişkenler ile şablon işlenir.
  4. Çıktı Oluşturma: Şablon motoru, dinamik olarak oluşturulan HTML'yi döndürür.

Sonuç

PHP 8'de şablonlama, uygulama projelerinde modülerlik, kodun daha okunabilir olması ve tekrar kullanılabilirliği sağlar. PHP'nin kendisiyle basit şablonlama yapılabileceği gibi, Twig, Blade ve Smarty gibi gelişmiş şablon motorları daha büyük projelerde tercih edilir. Bu motorlar, daha temiz bir yapı ve ek güvenlik avantajları sunarak projeleri ölçeklenebilir ve sürdürülebilir hale getirir.

Bu Dersi Değerlendirin

Bu ders size yardımcı oldu mu? Puan verin!

Geri bildiriminiz içeriğimizi sürekli güncel ve kaliteli tutmamızı sağlar.

4.9 / 5 (Toplam 14 oy kullanıldı)

Sıkça Sorulan Sorular (SSS)

Bu ders ve konuyla ilgili en çok merak edilenler

Php 8 Templates Nedir? dersini öğrenmek için ön koşul var mı?

Bu eğitim temel seviyeden ileri seviyeye adım adım hazırlanmıştır. Kodları kopyalayıp Canlı Editör üzerinde test ederek kolayca pratik yapabilirsiniz.

Örnek kodları kendi projelerimde ücretsiz kullanabilir miyim?

Evet, PHP Hocası üzerindeki tüm kod örnekleri açık kaynak mantığıyla sunulmaktadır. Ticari veya kişisel projelerinizde serbestçe kullanabilirsiniz.

Takıldığım bir yerde nereden soru sorabilirim?

Dersin altındaki topluluk yorumları bölümünden sorunuzu sorabilirsiniz. Eğitmenlerimiz ve topluluk üyelerimiz kısa sürede yanıt verecektir.

Paylaş:
PHP Hocası Akademi

Topluluk Yorumları (0)

Ders Hakkında Yorum Yap veya Soru Sor

Henüz yorum yapılmamış. İlk yorumu siz yazın!