Sayfa Reklamı

Browsing Tag

smart

Smarty

Smarty’nin Bize Sağladığı Faydalar

Bir kere smarty en basit anlamda PHP kodlarıyla web sayfamızın interface arayüzünü oluşturan HTML, CSS ve JavaScript’ten ayırmasını olanak sağlar. PHP kodları bir yerde işlenip smarty arabirimiyle önceden tanımladığımız HTML arayüzleri içerisine işleyerek, saf HTML kodunu client’a (istemciye) gönderir. Böylece tertemiz yapılar oluştuğu gibi, tasarım değişikliği gerektiği durumlarda veya birden çok tasarımla işlem yapmak istediğimizde son derece kolay yapılar geliştirebilme özelliğine sahip oluruz.

Cache’leme mekanizmasıyla, database ile olan münasebetimizi kısarak web sayfamızın performansını arttırır. Yalnız cache dediğime bakmayın. Bence smarty’nin kullandığı bu kelime son derece yanlış. Sadece smarty kullandığı için size de aynen aktarmak durumundayım. Zira cache bildiğiniz gibi verinin RAM’e gönderilmesi gibi bir algı son derece yanlıştır. Sadece oluşan cache’in disk üzerine kaydedilip, bir sonraki çağırılışta PHP derleyicisinin matematiksel işlemleri tekrardan yapmaktansa, mevcut olan çıktının aynen alınıp client’a yollanmasından ibaret bir mekanizma sunar. Bu konunun ayrıntıları ileri ki derslerde göreceğiz.

Template Engine’lerde programcıyı en çok sıkan şey esnekliktir. “Smarty bu konuda yapılabilecek hemen tüm işlemleri yapıyor” dersek tavuzu yapmamış oluruz. Zira bir programcı için vazgeçilmez konularında başında, istediği andan itibaren PHP ile template’e müdahale edebilmektir. İşte bu ortamda PHP programcısına birçok esnekliği sunarak istendiğide MVC yapının aksine template içerisinde PHP kodu barındırmamıza da olanak tanır. Ama bu özelliği kullanmanızı tavsiye etmiyorum. Interface içerisinde PHP kodu yazmaktansa, Smarty içerisinde işlemlerimizi yapacağımız fonksiyonlara taşımamız daha mantıklı olacaktır.

Smarty’nin sunduğu bir diğer güzellikte, PHP programcısına smarty’yi genişletebilme adına istediği özellikleri ekleyebiliyor. Zira Smarty içerisinde tanımlı fonksiyonları istediğimiz gibi çoğaltabileceğimizi yani sistem içerisine sınırsız sayıda plugin ekleyebilme olanağını bizlere sunmaktadır.

Template içerisinde bize sıklıkla kullanabileceğimiz sabit değişkenleri kullanabilmemize ve de mantıksal durumlar oluşturmamıza olanak sağlar. Ayrıca PHP içerisinde kullanılan birçok işlem Smarty içerisine gömülü olarak gelir.