🇹🇷
Merhaba!
SQL Düzenleyicisi
  • 🥳Merhaba!
  • 🔃API
    • API'ler
      • Alan Adı Sorgulama WHOIS API
      • İp Adresi Sorgulama API
      • Rastgele Kedi Resmi Gösteren API
      • Lokasyon
        • Ülkeler API
        • Şehirler API
      • T.C. Kimlik Doğrulama API
  • Hosting Solution
    • Cyberpanel
      • 500 Internal Server Hatası (Cyberpanel)
  • 🐻‍❄️LARAVEL
    • Laravel Projesi Oluşturma
    • Anasayfa Düzenleme ve Sayfa Ekleme
  • 🔳ERP TARAFI
    • ERP Nedir ?
    • ERP İş Süreçleri
    • Birimler
      • Üretim
      • Satış
      • Muhasebe
      • Stok Yönetimi
      • Mali Yönetimi
      • Müşteri Hizmetleri (Destek)
      • İnsan Kaynakları (Personel)
      • Proje Yönetimi
    • Kullanılan Terimler
      • Amortisman
  • 💻SQL Tarafı
    • Çalışmalar ve Notlar
      • Tablo Boyutlarını Öğrenme
      • Veritabanı Arası Sorgulama
      • Tabloların Satır Sayısını Bulma
      • Tablodaki Triggerları Açma&Kapatma
      • Tablo Bağlantısı (Tablo Bağlama)
      • Tabloların Satır Sayısını Bulma
    • Konular
      • Sorgulamalar
        • SELECT
        • FROM
        • WHERE
        • LIKE
        • JOINLER
          • INNER JOIN
          • FULL OUTER JOIN
          • RIGHT JOIN
          • LEFT JOIN
        • GROUP BY
        • HAVING
        • ORDER BY
        • LIMIT
        • COUNT
        • SUM
        • AVG
        • MIN
        • MAX
        • CASE
        • DISTINCT
        • SUBQUERY
        • SUBSTRING
        • TRUNCATE
      • String Fonksiyonlar
        • LEN
        • STRING_SPLIT
        • CHARINDEX
        • SUBSTRING
        • REPLACE
        • LOWER/UPPER
        • TRIM
        • LEFT/RIGHT
        • ASCII/CHAR
        • CONCAT
      • Zaman Fonksiyonları
        • DAY, MONTH, YEAR
        • DATEFROMPARTS
        • ISDATE
        • DATEADD
        • DATENAME
        • DATEPART
        • DATETIME
        • DATEDIFF
      • Matematiksel Fonksiyonlar
        • ROUND
        • FLOOR
        • DEGRESS
        • ACOS
        • ASIN
        • ATAN
        • ATN2
        • RAND
        • RAD
        • ABS/SIGN
        • FLOOR/CEILING
      • Döngüler
        • FOR
        • WHILE
      • Prosedür
        • Prosedür Nasıl Yazılır
      • Trigger
        • Triger Nasıl Yazılır
      • Index
        • Index Nasıl Yazılır
      • Cursor
        • Cursor Nasıl Yazılır
      • Fonksiyon Konuları
        • User Defined Functions
        • Aggregate Functions
      • Veritipleri ve Boyutları
      • İlişkisel Veritabanı
    • Dosyalar & Kaynaklar
      • SQL Veri Tipleri
      • T-SQL Join Tipleri
      • SQL Cheat Sheet
    • SQL Hataları ve Çözümleri
      • String or binary data would be truncated
      • Subquery returned more than 1 value.
      • Conversion failed when converting from a character string to uniqueidentifier
      • The multi-part identifier could not be bound
      • Arithmetic overflow error converting numeric to data type numeric
  • 💯ANADIL
    • Anadil Nedir ?
    • Çalışmalar ve Notlar
      • Cff
        • Cff İle Adını Alıp Kodunu Yazdırma
      • Şube Kodu İşaretlendiğinde ComboBox'ın Kapatılması.
      • Parametre İşaretlendiğinde TabSheet'te ki Grid'in kapatılması.
      • İf
        • İf İle Boş Kontrol
        • İf İle Uzunluk Kontrolü
      • Grid
        • Grid PushButton Kullanımı
        • Grid Oluşturma
      • Formdaki Gride Koşul Ekleme(FTC)
      • Yetki Servisi Çağırma
      • ComboList Doldurma
    • Kütüphane
      • RS32
        • Fonksiyonlar
          • BuildInsertStm
          • BuildDeleteStm
          • BuildSelectStm
          • BuildUpdateStm
          • PrepareStmDirect
          • ExecuteStmDirect
        • Metotlar
          • AddOrderBy
          • AddGroupBy
          • AppendToStm
      • CFF
        • Fonksiyonlar
        • Metotlar
      • Kontrol Nesneleri
        • ListBox ve ComboBox
          • AddToList
          • SelectTextInList
      • Diğer
        • IsNull
  • 🔬.NET TARAFI
    • .NET Nedir ?
    • Konular
      • Değişkenler
        • Boolean (Bool)
        • Byte
        • Char
        • Integer (INT)
        • Long
        • Single
        • Double
        • Decimal
        • String
        • Object
  • 😎PHP TARAFI
    • PHP Nedir ?
    • Konular
      • Temel Söz Dizimi
        • Değişkenler
        • Operatörler
        • Koşullar
        • Fonksiyonlar
        • Döngüler
        • Diziler
        • String İşlemleri
      • Form İşlemleri
        • Form Verilerini Alma
        • Form Verilerini Kontrol Etme
        • Form Verilerini İşleme
        • Form Alanlarına Ön Tanımlı Değerler Atama
        • Form Güvenliği
      • Veritabanı İşlemleri
        • Veritabanına Bağlanma
        • Veri Ekleme
        • Veri Sorgulama
        • Veri Güncelleme
        • Veri Silme
        • Veri Okuma
        • Transaksiyonlar
        • Veritabanı Bağlantılarını Yönetme
      • Sınıflar ve Nesneler
        • OOP İlkeleri
        • Autoloading
        • Ad alanları (Namespaces)
        • Statik Yöntemler ve Özellikler (Static Methods and Properties)
        • Soyut Sınıflar ve Yöntemler (Abstract Classes and Methods)
        • Arayüzler (Interfaces)
        • Miras (Inheritance)
        • Sınıflar ve Nesnelerin Temelleri
        • Kurucu Yöntemler
      • Güvenlik
        • SQL Enjeksiyonu
        • XSS (Cross-Site Scripting)
        • DoS (Denial of Service) Saldırıları
        • CSRF (Cross-Site Request Forgery)
        • Güvenli Parola Depolama
        • Dosya Yükleme
      • Dosya İşlemleri
      • API Entegrasyonları
        • API Nedir ?
        • RESTful API Nedir?
        • API İstekleri
        • API Yanıtları
        • API Entegrasyon Örnekleri
        • API Anahtarları
      • Framework
        • MVC Tasarım Deseni
        • Yönlendirme
        • Şablonlar
        • Veritabanı Erişimi
        • Güvenlik
        • API Entegrasyonları
        • Oturum Yönetimi
        • Test
        • Performans
        • Paket Yönetimi
  • 🎛️FRAMEWORK TARAFI
    • Framework Nedir?
    • Konular
      • Framework Türleri
      • Framework Avantajları ve Dezavantajları
      • Framework Kullanımı ve Örnekleri
      • Framework vs Kütüphane
      • Framework vs Platform
      • Framework vs API
      • Framework ve Tasarım Kalıpları
      • Framework ve MVC Mimari
      • Framework ve ORM
      • Framework ve Web Geliştirme
      • Framework ve Mobil Geliştirme
      • Framework ve Oyun Geliştirme
      • Framework ve Veri Bilimi
      • Framework ve Yapay Zeka
      • Framework Geliştirme Süreci
      • Framework Test Etme ve Hata Ayıklama
Powered by GitBook
On this page

Was this helpful?

  1. PHP TARAFI
  2. Konular
  3. Framework

Şablonlar

PHP'de birçok farklı framework bulunmaktadır ve bu frameworklerin birçoğu şablonlama özelliği sunmaktadır. Şablonlama, PHP'de dinamik web sayfaları oluştururken kullanılan bir tekniktir ve sayfaların yapısını ve görünümünü ayarlamak için kullanılır.

Örneğin, Laravel framework'ü, Blade adlı bir şablonlama motoru ile birlikte gelir. Blade, PHP kodunu okunması ve yazılması kolay bir şekilde şablonlara yerleştirme yeteneğine sahiptir. Blade kullanarak bir örnek şablon oluşturmak için aşağıdaki adımları izleyebilirsiniz:

  1. İlk olarak, Blade şablonlarını saklamak için bir klasör oluşturmanız gerekir. Laravel'de, bu genellikle "resources/views" klasörüdür.

  2. Şablon dosyasını oluşturmak için, oluşturduğunuz klasöre bir ".blade.php" dosyası ekleyin. Örneğin, "welcome.blade.php" adlı bir dosya oluşturabilirsiniz.

  3. Şablon dosyası içinde, HTML kodunu Blade etiketleriyle sarmalayabilirsiniz. Örneğin, bir başlık eklemek için aşağıdaki gibi bir kod bloğu kullanabilirsiniz:

<!DOCTYPE html>
<html>
<head>
    <title>@yield('title')</title>
</head>
<body>
    <div class="container">
        @yield('content')
    </div>
</body>
</html>
  1. Şablon dosyasında "@yield" ifadesini kullanarak, değişen içerikleri dinamik olarak yerleştirebilirsiniz. Örneğin, "@yield('title')" ifadesi, sayfa başlığını yerleştirmek için kullanılırken, "@yield('content')" ifadesi sayfa içeriğini yerleştirmek için kullanılabilir.

  2. Şablonu kullanmak için, "view" fonksiyonunu kullanarak şablon adını ve gerekli verileri geçmeniz gerekir. Örneğin, aşağıdaki gibi bir kod parçası kullanarak "welcome.blade.php" şablonunu çağırabilirsiniz:

Route::get('/', function () {
    return view('welcome', ['title' => 'Anasayfa', 'content' => 'Hoş geldiniz!']);
});

Yukarıdaki örnekte, "view" fonksiyonu "welcome" şablon adını ve "title" ve "content" verilerini geçirerek sayfayı oluşturur. "title" ve "content" değişkenleri, şablon dosyasında "@yield" ifadelerinin yerine geçer ve sayfa başlığı ve içeriği dinamik olarak yerleştirilir.

Bu örnek, Laravel'in Blade şablonlama motoru ile yapılmış bir örnektir, fakat diğer frameworklerde de benzer şablonlama motorları bulunmaktadır.

Örnek olarak, Symfony framework'ü de Twig adlı bir şablonlama motoru kullanmaktadır. Twig, Blade gibi, PHP kodunu kolayca şablonlara yerleştirmek için kullanılır. Aşağıdaki örnek, Symfony kullanarak Twig şablon motorunu kullanarak bir örnek şablon oluşturmanın temel adımlarını göstermektedir:

  1. Öncelikle, Twig şablonlarını saklamak için bir klasör oluşturmanız gerekiyor. Symfony'de, bu genellikle "templates" klasörüdür.

  2. Şablon dosyasını oluşturmak için, oluşturduğunuz klasöre ".twig" uzantılı bir dosya ekleyin. Örneğin, "base.twig" adlı bir dosya oluşturabilirsiniz.

  3. Şablon dosyasında, Twig etiketleri kullanarak HTML kodunu sarmalayabilirsiniz. Örneğin, bir başlık eklemek için aşağıdaki gibi bir kod bloğu kullanabilirsiniz:

<!DOCTYPE html>
<html>
<head>
    <title>{% block title %}{% endblock %}</title>
</head>
<body>
    {% block content %}{% endblock %}
</body>
</html>
  1. Şablon dosyasında "{% block %}" ifadesini kullanarak, değişen içerikleri dinamik olarak yerleştirebilirsiniz. Örneğin, "{% block title %}{% endblock %}" ifadesi sayfa başlığını yerleştirmek için kullanılırken, "{% block content %}{% endblock %}" ifadesi sayfa içeriğini yerleştirmek için kullanılabilir.

  2. Şablonu kullanmak için, "render" fonksiyonunu kullanarak şablon adını ve gerekli verileri geçmeniz gerekir. Örneğin, aşağıdaki gibi bir kod parçası kullanarak "base.twig" şablonunu çağırabilirsiniz:

use Symfony\Component\HttpFoundation\Response;

$templating = new \Twig\Environment(new \Twig\Loader\FilesystemLoader(__DIR__.'/templates'));

return new Response($templating->render('base.twig', ['title' => 'Anasayfa', 'content' => 'Hoş geldiniz!']));

Yukarıdaki örnekte, "render" fonksiyonu "base.twig" şablon adını ve "title" ve "content" verilerini geçirerek sayfayı oluşturur. "title" ve "content" değişkenleri, şablon dosyasında "{% block %}" ifadelerinin yerine geçer ve sayfa başlığı ve içeriği dinamik olarak yerleştirilir.

Bu örnek, Symfony kullanarak Twig şablonlama motorunu kullanarak yapılmış bir örnektir, ancak diğer frameworklerde de benzer şablonlama motorları bulunmaktadır. Şablonlama, PHP'de dinamik web sayfaları oluşturmak için önemli bir tekniktir ve birçok farklı şablonlama motoru ve framework kullanılarak uygulanabilir.

Last updated 2 years ago

Was this helpful?

😎