PHP için bir dumbed aşağı iyi, güvenli bir şablon sistemi nedir?

3 Cevap php

(Özet: My kullanıcıların herhangi bir zarar yapmak mümkün olmadan kendi dinamik web sayfalarının yapısını düzenlemek gerekiyor.)

Selamlar, bayanlar ve baylar. Şu anda belirli bir demografik gelen müşteri web sitesinin belirli bir türü oluşturmak ve kendi içerik ile doldurmak bir hizmet üzerinde çalışıyorum. Sistem PHP ile yazılmış.

Bu sistemin kullanıcılarının çoğu kendi özel web sitesi nasıl göründüğünü düzenlemek isteyen, ya da, daha yaygın bir tasarımcı onlar için bunu yapmak zorunda. CSS düzenleme ince ve züppe, ama bazen bu yeterli değil. Bazen dinamik olarak oluşturulan web sayfalarının ham HTML düzenleyerek tüm sayfa yapısı etrafında karıştırmak istiyorum.

WordPress tarafından kullanılan şablon sistemi kadarıyla benim kullanım için mükemmel, gördüğünüz gibi, olduğunu. Kritik öneme sahip bir şey hariç. Comments görüntülenen veya menü nereye nasıl düzenlemek için güçlü olmanın yanı sıra, bir şablonu düzenleyerek birisi bu şablon keyfi PHP kodu çalıştırmak olabilir.

Aynı kod temeli benim kullanıcıların rasgele kod söz konusu açıkça çalışmasına izin, aynı databse tüm içeriği ile tüm bu farklı siteler, çalışır gibi.

Yani ne gerek, benim kullanıcıları mümkün olmadan bile 1 1 yankı yerde, dinamik bölümlerde çekerek, kendi sayfa yapısı çoğu düzenleyebileceğiniz bir dumbed aşağı, idiot-proof şablon sistemi;.

Aşağıdaki psuedocode uyun:

<!DOCTYPE html>
<title><!-- $title --></title>
<!-- header() -->
<!-- menu() -->
<div>Some random custom crap added by the user.</div>
<!-- page_content() -->

O benim kullanıcılara vermek istiyorum gücün derecesi bulunuyor. Onlar kendi döngüler veya hesaplamalar ya da bir şey yapmak gerekmez. Sadece benim değişkenleri ve işlevlerini kapsar ve gerisini bana bırakın.

Ben böyle bir şeye ihtiyacı gezegende tek kişi değilim eminim. Kullanabilir miyim herhangi bir hazır çiftleşmiş sistemlerinin biliyor musunuz?

Cevabınız için şimdiden teşekkür ederiz.

3 Cevap

Ben dal tavsiye ederim.

http://www.twig-project.org/

Özellik bu Sandbox modu bulunuyor.

Secure: budak güvenilmeyen şablon kodu değerlendirmek için bir sandbox modu vardır. Bu dal kullanıcıların tasarım şablonu değiştirebilir uygulamalar için bir şablon dil olarak kullanılmak üzere sağlar.

Bildiğim kadarıyla sizin örnek olarak son derece basit bir şey olarak, neden sadece şablonları ayrıştırmak için basit bir sınıf yazmak değil mi? Seni muhafaza ediliyor istedi ve bunu yapmak için bir şey yazmak çok zor değil gibi dağıtılan ettik gibi süper basit bir şey aslında var olduğunu sanmıyorum.

Ben belki aklınıza gelebilecek tek şey belki de bıyık mı? Ben oldukça erken gelişiminde PHP uygulama olduğunu düşünüyorum ve ben o an nasıl kararlı veya kullanılabilir emin değilim gerçi.

http://github.com/bobthecow/mustache.php

Neden Smarty kullanmak değil mi?

http://www.smarty.net/

settings 3. şahıslara yoluyla düzenleme, tam olarak neye ihtiyacınız için tasarlanmış bir dizi özelleştirilebilir bir security işlevi yoktur.

Bunu yapabileceği başka yolu onlar emin olmak için değişiklik yaptığınızda onlar uygunsuz şey dahil değil girdileri olan

http://dwoo.org/

Dwoo is a PHP5 Template Engine that was started in early 2008. The idea came from the fact that Smarty, a well known template engine, is getting older and older. It carries the weight of it's age, having old features that are inconsistent compared to newer ones, being written for PHP4 its Object Oriented aspect doesn't take advantage of PHP5's more advanced features in the area, etc. Hence Dwoo was born, hoping to provide a more up to date and stronger engine. So far it has proven to be faster than Smarty and it provides a compatibility layer to allow developers that have been using Smarty for years to switch their application over to Dwoo progressively.