![]() |
1
5
这是symfony框架的fabien potencier has to say about templating engines :
他还描述了他在模板语言中寻找的功能:
以及他最喜欢的模板语言的一些特性 Twig 脱颖而出:
在文章的评论中,他说,“这可能是symfony 2的一部分。但我首先需要一些社区反馈。” 读 the full article 让他整个论点支持模板系统。 |
![]() |
2
15
关于php的问题是它已经 是 模板语言。 聪明的,尽管它是好的,增加了开销。如果你没有充分的理由使用它,那你为什么要这样做?使用后端框架的人是已经熟悉PHP的开发人员,因此没有理由让他们使用具有新语法的模板引擎来学习。 大多数框架都足够灵活,添加模板引擎不需要很多工作。如果构建的框架迫使您使用smarty,那么它就不那么流行了,因为框架本身的灵活性会降低。 关于“长语法”,没有一个框架会因为安全问题而对已弃用的语法置之不理。如果框架的用户想使用它或者不想使用它(现在没有人应该这样做),可以把它留给框架的用户,但是围绕短标签构建一个核心框架会降低它的可移植性。 |
![]() |
3
10
我不知道我会打电话
事实上,短标记并不总是在服务器上启用,而标准默认值通常是。走那条路比较安全。 |
![]() |
4
9
像smarty这样的模板引擎添加了一个不需要的额外处理层——它们大多是膨胀软件。他们通常会添加太多的额外处理,以达到句法上的糖分。当完整的PHP标签可用时,使用模板引擎就像戴上了镣铐——它变成了另一种语言,它有自己的特性需要学习,以便用常规的PHP完成相同的事情。 根据我的经验,我很少看到非程序员完全或轻松地使用模板引擎。以这两个例子为例: Smarty:
PHP:
现在,smarty语法可能稍微干净一点,但老实说,有人吗? 除了 一个程序员能够轻松地使用这两种代码集吗?模板引擎在不提供任何主要好处的情况下添加了额外的处理/逻辑层。 |
![]() |
5
3
有一些原因:
更多: Are PHP short tags acceptable to use?
更多 |
![]() |
6
3
打开的短标签是 不 已弃用,它们也将 不 在PHP6中移除。
链接的文章还包含许多关于这个主题的有用信息。 报价 Rasmus Lerdorf (第三链接):
就我个人而言,我尽量避免使用模板化系统,因为我发现常规的PHP语法更容易用作模板化语言,它可以重新设计PHP可以实现的功能。通过添加viewhelper,任何设计人员都不应该在使用常规语法时遇到太多问题。事实上,我一直在争论, 模板引擎(如 Smarty )对网页设计师来说更容易 相当轻视。冗长的PHP语法在美学上可能并不吸引人,但任何半脑的人都可以学习它。 |
![]() |
7
2
因为他们不想包括一个像smarty那样大的库,以使模板缩短几个字符。 |
![]() |
8
2
除了其他答案之外,还有一些事情使Smarty(和类似的模板引擎)有问题。 第一个问题是,如果要在模板中放入javascript,则需要转义模板中的一些字符。如果您的javascript是由PHP动态创建的,那么它会变得更糟;代码的可读性会急剧下降。 第二个也是最重要的是,当您在一个体面的OO框架中工作时,smarty会严重降低代码的功能。当使用PHP作为模板引擎时,您可以在模板中使用$this来调用正在分析模板的控制器中的方法。不仅如此,您还可以访问控制器继承的所有方法。 使用smarty,您将失去整个功能,因为$this不再指向您的控制器。本质上,您只能访问Smarty有限的功能,而不是从模板访问整个框架。 |
![]() |
Jacco · 未能格式化我的日期以在php中正确工作 1 年前 |
![]() |
jay ram · 如何在URL核心php中从API获取JSON? 1 年前 |
|
Ishwarya A · php电子表格在浏览器中显示多张excel 1 年前 |