模板语言与直接PHP

前端之家收集整理的这篇文章主要介绍了模板语言与直接PHP前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我要写一个CMS,但是现在我写下所有的想法,并试图让我的所有概念在我开始之前是直接的.我被撕毁的一件事是是使用模板语言和解析网站的页面,并使用内容项目替换模板标签,还是用直接 PHP开发网站,并让CMS生成有助于数据结构的数据结构.例如:
{navigation: products}

foreach($cms_label['products'] as $product) {

    echo '<li class="product_nav">'.
         '<a href="products/{$product.id}">{$product.name}</a>'.
         "</li>\n";

}

前者更清洁,但它会涉及到发明一种语言,并在显示之前解析每一页.后者不太干净,但是如果CMS只提供所有代码的数据,那么它可能会非常好.但是,这将被视为混合逻辑与演示?我考虑过的另一种方法是使用类似于模板标签PHP函数

<?PHP navigation('products'); ?>

你怎么看?

记住,我不需要做任何比在某个地方包括一个页面更复杂的东西,或者写出一个无序的列表;其余由CSS处理.

PHP的模板语言是一个名为“ Inner-Platform Effect”的反模式的示例. Smarty是PHP的模板框架的一个例子,但即使是Hasy Hayder,一本关于Smarty的书的作者说,Smarty is dead并没有必要再使用它了.

开发模板语言可能有很好的理由,例如,如果您使用非编码器设计者或使用CMS的内容编辑器,并且您不希望以PHP的复杂性压倒他们(或允许他们编写可以打破你的网站).

但是您没有将其描述为目标,所以我假设使用PHP作为页面模板语言在这种情况下是最好的.这将减少工作量,因为您不必开发自己的新语言,并且将为您需要特定类型的动态内容的常见情况提供更大的灵活性.

不要写PHP函数来封装HTML输出块.相反,使用include()来拉入HTML的片段.这种技术有时被称为“部分”.

您还可以使用Symfony,Kohana,Solar,CodeIgniter或Zend Framework等MVC框架来帮助您保持对您的PHP模板代码与其余应用程序代码的分离.

猜你在找的PHP相关文章