PHP Template Engine kullanmanın mantığı nedir?
Selam, Prototürk Youtube kanalında Tayfun'un basit bir template engine yazdığı videoya denk geldim. Geliştirdiğim hiçbir projede bir tema motoruna ihtiyaç duymadım. Avantajdan çok dezavantaj (performans bakımından) gibi geliyor. Her neyse asıl sorum şu; PHP'nin kendi kodları yerine niye yeni bir katman ekleyeyim? Yanlış anlamayın karşı değilim, sadece bunun projeye ve geliştiriciye ne kazandıracağını kavrayamıyorum.
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (2)
Gereksiz yük bindirmiyor. Template engine bazen sık kullandığımız kodları daha kısa yazmamızı sağlıyor. Daha derli toplu hoş görünen şablonlar ortaya çıkıyor. Ve en önemlisi zamandan kazandırıyor.
Şimdi gelelim işleyiş mantığına, yazılan kodları php türüne çevirir ardından cache olarak bunu tutuar.
Her siteye girdiğimizde bu motor çalışmaz, çünkü daha önce çalışmıştır bir kere ve bunu cache olarak saklamıştır.
Artık diğer kullanıcılar siteye girdiğinde performans kaybı yaşanmaz. Bizimde az sürede çok işi yapmamızı sağlar. En azından daha anlaşılırdır.
Mesela burada sade olarak değişkenimizi yazarız.
{{ $name }}
Çıktı olarak bize belli filterelerden geçirilmiş php kodunu verir.
<?php echo e($name) ?>
Kısacası geliştirme sürecinde daha az kod ile daha fazla iş yapma imkanı diyebiliriz.
Verdiğiniz örnekte bu dediğinize bir lafım yok, benim anlamadığım şey işin içine döngüler, if/else yapılarından da ötesi vs girince hele bir de büyük çaplı bir projede yekünde daha fazla iş, daha fazla mesai ve en önemlisi daha fazla hataya sebep olabilecek bir mantık gibi geliyor. Enginelerde hata var demiyorum, bildiğini iddia edenler bile proje büyüdükçe daha fazla afallıyor.
Şöyle bir örnek vereyim; yeni bir projede çalışmaya başladım her yazılımcı farklı bir template engine kullanmış. Projede biri gelmiş zend kullanmış, başkası gelmiş smarty kullanmış yetmemiş başka birisi blade kullanmış, anlayacağınız proje yamalı eşşeğe dönüşmüş. Bu template engineler yerine evrensel olarak kabul görmüş bir yapıyı yani yalın kodlama kullanılmış olsalardı totalde daha az iş gücü ile bu proje ayağa kaldırılabilirdi. Toparlayacak olursam; en iyi kod en basit görünen kod değildir. Ama piyasaya baktığımda ısrarla yazılımcılar engine kullanma konusunda diretiyor ve ne hikmetse hepside kendi bildiği engine kullanmak istiyor. Bunun mantığını kavrayamıyorum.
Biraz zelzeniş gibi oldu ama yani yazılımcılarda ki template engine kullanma tutkusuna gerçekten anlam veremiyorum ve mantığını kavrayamıyorum.