Uzun br aradan sonra güzel bir yazıyla geri dönüş yapayım dedim. Bu kez konumuz ne C# nede ASP olacak . Şimdi PHP yi diğer web yazılım dillerinden ayıran birçok güzellikten biri olan template kullanabilme yeteneğini anlatmaya çalışacağım. Önce template kavramı üzerine biraz laf kalabalığı yapalım.Template nedir ?
Template bir web sitesinin yada yazılımın birden fazla arayüzden herhangi biri ile çalışabilmesini sağlayan koddan ayrılmış görsel dosyalarıdır.PHP de template nasıl kullanılır ?
PHP de dahil birçok web yazılım dilinde template mantığı css,image,js dosyaları ile kod dosyalarını ayırıp bir parametre ile bunu değişken kılmak en basit yoldu ancak her ne olursa olsun bu ayrım tamamen keskin çizgilere sahip olamıyordu örneğin kod içinde tanımladığımız bir table da kullandığımız class eğer parametre ile tanımladığımız css dosyası içinde bulunmuyorsa bu başımıza iş açabiliyordu. Bu şekilde çalışabilmek için her oluşturduğumuz template te oldukça hassas davranmak gerekiyordu. Ancak Smarty ve buna benzer template motorları bu yükü üzerimizden almayı başardılar.Template Ne Zaman Kullanılır ?
3-5 sayfadan oluşan bir web sitesinde template kullanmak oldukça saçma bir tercih olurdu. O halde template kullanılması için bazı ön şartların oluşmaı gerekli, nedir bunlar bir göz atalım ;* Sürekli görsel değişikliğe uğrayan bir proje üzerinde çalışıyorsanız ,* Projenin yazılım süreci uzunsa ve dosya bakımından takip edilemeyecek boyutta ise,* Yazılım ve tasarım işlerini ayrı kişiler devam ettiriyorsa,* Yazılım için birden fazla arayüz kullanılıyorsaTemplate olarak çalışmak en mantıklı tercihtir. Çünkü hem işlerinizi hızlandıacak hemde kodlar ile tasarımı birbirinden ayrıdığı için ileriye yönelik daha anlaşılabilir kodlama oluşturacaktır.Şimdide Smarty template motoruna geçelim,“Smarty template engine” nedir ?
Aslına bakarsanız adındanda anlaşılacağı gibi templateleri çalıştırmaya yarayan oldukça basit ve kararlı bir motor olmasına rağmen tek özelliği bu değildir. Matematik foksiyonlarından tutunda PHP de kullanılan birçok işlemin kısaltmasınıda içinde barındırmaktadır. Ama bz şimdilik sadece template leri nasıl çalıştıraağına değineceğiz.Smarty ile “Merhaba Dünya”
Öncelikle buradan smarty nin son versiyonunu indirelm şuan için son versiyonu 3.0rc3 olarak çıkmış durumda indirdiğimiz bu dosyayı açıp içindeki “libs klasörünü projemize dahil ediyoruz. Bunu yaparken kök dizini kullanmanız gerekmiyor. “includes” yada yazılım mantığınıza göre herhangi bir klasörün içinede bunu dahil edebilirsiniz.ayrıca smarty nin çağırıldığı dizinde;* cache* templates* templates_cisimli 3 klasör oluşturuyoruz ancak “cache” klasörünün bulunması zorunlu değildir.Şimdide index.php mizi oluşturalım ;index.php force_compile = true; // compile işlemini açıyoruz.$smarty->debugging = true; // debugging işlemini açıyoruz.$smarty->caching = true; //caching özelliğini açıyoruz.$smarty->cache_lifetime = 120; // caching yaşam süresini belirliyoruz.$smarty->assign(“parametre1″,”Merhaba”); // smarty parametrelerini tanımlıyoruz.$smarty->assign(“parametre2″,”Dünya”);$smarty->display(‘index.tpl’); // template dosyamızı anımlıyoruz.?> Bu aşamadan sonra sıra template dosyamızın oluşturulmasına geldi sıra templates klasörümüzün altına “index.tpl” isimli template dosyamızı oluşturalım ve aşağıdaki kodları içine yazalım.index.tpl
{$parametre1} {$parametre2}

Şimdide index.php dosyamızı çalıştıralım . Bold olarak merhaba dünya yazdığını göreceksiniz.Bu yazı Smarty template motoru ile nasıl template oluşturulabildiğine dair giriş niteliğinde bir yazı nteliği taşıdığı için arkadaşlar diğer özelliklerini keşfetme zevkini elinizden almak istemiyorum. Şimdiden yararlı bir bilgi olmuş olması dileğiyle hepinise mutlu günler diliyorum.Yazılarım her zamanki gibi yanlızca kodaman.org’dır diğer sitelerden kopyalayan arkadaşlara söyleyecek birşey bulamıyorum 🙂