Ben Smarty düşündüren herkese sormak istiyorum o sizin aynı soruyu soracağım:
Neden bir çiftleşmiş dildir PHP bir çiftleşmiş dili eklemek istiyorsun?
PHP çiftleşmiş dildir. Ben insanların unutmak veya saf OO dil, which it isn't gibi onu tedavi etmek için denemek düşünüyorum. PHP'nin güçlü oynamak. Değil bir şey denemek ve onu yapmayın.
Eğer şablon sistemi desteklemek niyetinde özellikleri yani, ne kadar basit veya karmaşık deme, çünkü tüm bu söyleniyor, bu soruya cevap vermek zor.
Lütfen çiftleşmiş dili oldukça basit ise düzenli ifadeler gitmek için yol olabilir. Bu ancak bazı önemsiz durumlar için çalışmaz. Kontrol yapılarının Yerleştirme muhtemelen en yaygın olanıdır. Bu durumda ilkel çözümleyici çeşit yazmak gerekir.
Kullanıcının tüm çiftleşmiş yapılar bu gibi bloklar olduğunu varsayalım:
{:...:}
bütünlüğü için, kullanıcı aslında bu karakter kombinasyonlarını kullanmak istiyor durumda karşılamak gerekir, her ne kadar bu (bir HTML sayfası aksi ortaya nispeten düşüktür çünkü.
Bu tür ifadeler için dosyayı tarar ve buna göre işlemek gerekir. Düzenli ifadeler ama mutlaka koşullu örneğin içerir için olduğu gibi, olanları değil eşleşen tüm bunları bulmak için kullanılabilir:
{:if ...:}
Some conditional content
{:endif:}
Neden? Bu yüzünden:
{:if *some condition*:}
{:if *some other condition*:}
Some other conditional content
{:endif:}
Some conditional content
{:endif:}
Düzenli ifadeler ile bu eşleşen güvenilir yapılamaz böylece lexemelerin ağacının bazı forma dosyayı ayrıştırmak ve sonra işlemek gerekir.