Baştan belirteyim, bu yazının amacı template engine (şablon motoru) kullanmayalım ya da performans için her türlü işe yarar objelerden, frameworklerden, component ve yaklaşımlardan uzak duralım değildir. Performans önemli bir konudur ama bir web uygulamasının üretilmesi, üretildikten sonra rahat ve esnek bir biçimde geliştirilebilmesi, vb. de ciddi şekilde önemli konulardır.
Fakat en son Facebook ekibinin HipHop ve XHP gibi konuları gündeme getirmesinden sonra PHP kodlarının performansı üzerinde tekrardan düşünmeye başladım. PHP performansı deyince de ilk aklıma gelen konulardan birisi smarty ve PHPTAL gibi şablon motorlarının kullanımı oldu. Acaba bu şablon motorları ne kadar hızlı çalışıyor diye test etmek istedim.
Smarty uzun süredir kullandığım fakat son dönemlerde gerekliliğini ve yeterliliğini sorguladığım bir şablon motoru benim için. Hatta kim bana şimdi “Smarty mi kullanalım, direkt PHP mi yazalım HTML tagleri arasına?” diye sorsa bir saniye bile düşünmeden “PHP yazın” derim. Zira Smarty hakikaten HTML arasında PHP yazmaktan öte çok fazla bir iş yapmıyor. Compile, cache gibi yapıları ise aslında maksimum birkaç saat içinde hem de daha iyi bir şekilde sıfırdan yazabileceğiniz türden şeyler. Bugüne kadar biraz ciddi bir alternatifi olmamasından biraz da back-end kod ve yapılarının tasarımdan ayrılmasına inandığımız için Smarty’i kullanmış idik. Şimdiler de ismi çok duymaya başladığım PHPTAL gibi daha düzgün bir alternatif mevcut. PHPTAL’ı kullananların anlattığı ve kendi dökümanlarına göz attığımda gördüklerim kadar tanıyorum aslında. Yani çok ciddi bir tecrübem yok PHPTAL ile ilgili. Ama bundan sonrasında bir proje için Smarty yerine kullanmayı düşündüğüm bir şablon motorudur. Bu nedenle de Smarty’nin ne kadar hızlı çalıştığını merak ederken PHPTAL’ı da bu merakıma dahil etmiş oldum.