【发布时间】:2011-01-18 15:57:00
【问题描述】:
- PHP 短标签
<?= $var ?>已弃用一段时间。 - 几乎所有 PHP 框架 使用长格式
<?php echo $var ?>(例如,symphony、Yii、Kohana) -
Smarty 是一个著名的 PHP 模板引擎,它支持更短的形式
{$var} - 模板引擎(如 Smarty)对于网页设计师来说更容易
- 编辑模板会显示
{$var}而不是什么都不显示(因为<..>) -
更短的语法(减少输入,尤其是当
<>在某些键盘布局上的同一个键上时) - 模板经过预编译和缓存,提供几乎相同的性能
- 编辑模板会显示
所有这些都让我想知道,为什么所有框架似乎都使用超长的 PHP 语法?不使用像 Smarty 这样的模板引擎有什么优点(除了小开销)?
【问题讨论】:
-
CodeIgniter 怎么样? codeigniter.com/tutorials/watch/intro
-
为什么说smarty对设计师来说更容易?你见过一个成熟的 smarty 模板吗?我有,而且很烂!!我没看懂,设计师也没看懂
-
这与 PHP 短标签与长标签无关。 Smarty3 也非常快,真的。对于大多数人来说,开销可以忽略不计。我相信这里已经忘记了一个论点。首先,Smarty3 支持模板继承之类的东西,其次,当在浏览器中“预览”模板时,您会看到
{$description}显示,而如果您使用 PHP<?...?>,您看不到任何内容。这也有助于验证 PHP(直接在 HTML 编辑器中)。我不是说要推动 Smarty3,只是为了指出我的奇迹。到目前为止给出的最佳理由是更加灵活并且可以轻松实施。 -
@AntonioCS 根据我的经验,Smarty 让事情变得更容易,因为您只需要处理显示和格式设置,而不是让大量不相关的 PHP 弄乱页面。
-
@abeger:有了好的设计,你不会有“很多不相关的 PHP 使页面混乱”。如果您在模板中包含应用程序逻辑,那么无论您使用什么语言/框架,您都做错了。
标签: php templates frameworks smarty php-shorttags