Daha önce PHP Template Teorisi yazımda template sistemleri hakkında ufak bir teorik bilgi vermiştim. Fakat orada verdiğim örnek sayfaları ve bölümleri birbirinden ayırmaktı. Şu an size göstereceğim örnek ise tasarım ve kodlamanın ayrı dosyalarda yapılmasını sağlamak.
Tabiki bu sadece mantığını kavramanız için çok basit birşey. Ama yinede kolaylık bakımından basit işlerinizde kullanabilirsiniz. Yaptığımız sistemde include edeceğimiz bir php dosyası birde html kodlarının yani tasarımın olacağı .tpl dosyası olacak. İlk önce kodlarımızı yazıp daha sonra tasarım dosyası olan .tpl dosyamızı oluşturalım. En son olarak anasayfamıza include edip kullanalım.
İlk önce template.php adında kodlarımızın olduğu dosyayı oluşturuyoruz.
<?php $baslik = "Site Başlığı"; $mesaj = "Sitemize Hoşgeldiniz"; $slogan = "Hebele Hubele"; $kopirayt = "© Bu Site Haksızdır"; ob_start(); include("template.tpl"); $html = ob_get_contents(); ob_end_clean(); echo $html; ?>
Daha sonra template.tpl adında tasarım dosyamızı oluşturuyoruz.
<html> <head> <title><?=$baslik?></title> </head> <body> <h1><?=$mesaj?></h1> <h3><?=$slogan?></h3> <hr> <?=$kopirayt?> </body> </html>
En son sitemizi göstereceğimiz index.php dosyamızı oluşturuyoruz.
<?php include("template.php"); ?>
Tabiki sadece include ederek. Herhangi başka birşey yapmaya gerek yok. Tabi bunları bölümlere ayırarak header & footer olarakta yapabilirsiniz. Hayal gücünüzü kullanın.
Uygulama dosyasını buradan indirebilirsiniz.
Geçen gün php ile ilgili if else ve include ile calisan bir template ornegi vardi, neden kaldırdınız?
Kaldırmadım burada duruyor.
Allah (c.c) verdiğiniz tüm bilgilerden ötürü sizden razı olsun. Çok teşekkürler….
teşekkürler…
Çok güzel açıklamışsınız, teşekkürler. Gayet net 🙂
Çok güzel olmuş. Tamda bununla ilgili bir araştırma yapıyordum. Projemde yardımcı olacak. Teşekkürler.
bu yazınında devamını bekleriz hocam 🙂
çok teşekkür ederim belgeler çok işimi gördü
harika bir kod ve açıklama.sorunsuz çalıştırdım.teşekkürler
tpl dosyasında
satırları ekrana bilgi yazdırmıyor yazıldığı gibi görünüyoe ekranda? Bu sorun neden kaynaklanıyor acaba?
.tpl ile site yapmanın avantajları nelerdir yani ben mesela tema sistemini php olarak kodluyorum yani en basit düzeyde kodluyorum ama .tpl in bana kazandıracağı ne olablir bundan?
Paylaşım için teşekkürler ama bunun yanı sıra smarty vb template parser sistemleri kullanılabilir 🙂
Tabiki, keşke zaman yaratabilip buraya daha güncel ve smarty vb. konuları anlatabilsem.