Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗ppPmSDFl 437 of 447 menu
◀ ▶

PHP'de Dosya Tabanlı Motor

Bize, URL'ye bağlı olarak farklı içeriğin bağlanacağı bir şablon dosyası oluşturmamızı sağlayacak bir site motoru uygulayacağız.

Sayfamızın yapısının aşağıdaki gibi göründüğünü varsayalım:

<!DOCTYPE html> <html> <head> <title>title</title> </head> <body> <header> header </header> <main> content </main> <header> footer </header> </body> </html>

İçeriğin eklenmesi gereken yere, kendimizin uydurduğu bir ekleme komutu yerleştirelim, örneğin şöyle: {{ content }}. Sitemizin şablonunu değiştirelim:

<!DOCTYPE html> <html> <head> <title>title</title> </head> <body> <header> header </header> <main> {{ content }} </main> <header> footer </header> </body> </html>

Şimdi içerik dosyalarını yerleştireceğimiz view klasörünü oluşturalım. Doğrudan bu klasörde veya alt klasörlerde.

İlk dosya şöyle olacak:

<div> content 1 </div>

İkinci dosya şöyle olacak:

<div> content 2 </div>

Üçüncü dosya şöyle olacak:

<div> content 3 </div>

Şimdi, adres çubuğundaki URL'ye göre ilgili dosyanın çekilmesini sağlayalım. Bizim durumumuzda /page1 URL'si için birinci dosya, /dir/page2 URL'si için ikinci dosya ve /dir/sub/page3 URL'si için üçüncü dosya olacak.

Uygulamaya başlayalım. İlk olarak, .htaccess dosyasında, kaynak dosyalar hariç tüm istenen adreslerin index.php sayfasına yönlendirilmesini sağlayalım:

RewriteEngine On RewriteBase / RewriteCond %{REQUEST_URI} !\.(js|css|ico|jpg|png|gif)$ RewriteRule .+ index.php

index.php sayfasında, bir değişkene istenen URL'yi alalım:

<?php $url = $_SERVER['REQUEST_URI']; ?>

Daha sonra şablon dosyasının metnini alalım:

<?php $layout = file_get_contents('layout.php'); ?>

Şimdi URL'ye göre view klasöründen ilgili içerik dosyasını alalım:

<?php $content = file_get_contents('view' . $url . '.php'); ?>

Şablon metninde uydurduğumuz komutu, dosyadan alınan içerikle değiştirelim:

<?php $layout = str_replace('{{ content }}', $content, $layout); ?>

Şablonu yerleştirilmiş şablon dosyasını tarayıcıda gösterelim:

<?php echo $layout; ?>

Hepsini bir araya getirelim ve aşağıdaki kodu elde edelim:

<?php $url = $_SERVER['REQUEST_URI']; $layout = file_get_contents('layout.php'); $content = file_get_contents('view' . $url . '.php'); $layout = str_replace('{{ content }}', $content, $layout); echo $layout; ?>

Açıklanan dosya tabanlı motoru uygulayın.

← →
↑
Türkçe▼
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet