|
shinyJul 10, 2013
1
几年前用了,感觉自定义标签和过滤器非常慢,看了实现是eval的。于是费了一年多时间写了个模板引擎。
后来用着用着觉得,一般使用场景下,其实用的人如果注意代码质量,用PHP原生语法也挺好;如果用的人不注意代码质量,模板引擎带来的好处也有限,让整个系统变得更复杂。 |
|
iloveyouJul 10, 2013
2
php就是模板语言
|
|
donaldJul 10, 2013
3
现在貌似twig比较火?
|
|
darasionJul 10, 2013
4
倾向于直接php,但是,smarty,大把人习惯了,成为传统了,一般没人知道当初为什么用它。
|
|
xunyuJul 10, 2013
5
我还在用
|
|
FeobeJul 11, 2013
6
Twig已完胜smarty。
或者直接原生。 |
|
7
twig 因为我写python用jinja2 两者很像
|
|
8
倾向于用框架自带的模板或者直接PHP,有些人不知道,PHP的控制结构其实是有替代语法的:
<? if ($foo = 'foo'): ?> <p>foo</p> <? else: ?> <p>bar</p> <? endif ?> 使用比较清爽的 short_open_tag 看起来跟Smarty也没什么区别,效率肯定更好。 |
|
fkccpJul 11, 2013
10
现在被逼用thinkphp,我个人倾向原生php~
|
|
rucheeJul 11, 2013
11
Samrty只要不理会它那些复杂的结构,只用最简单的还是挺好用的,公司框架就用的它
Twig这几天正在看,感觉重复造轮子啊,丫的,它居然把PHP自带的很多函数重新封装了一遍,还美其名曰过滤器,闲的蛋疼 |
|
sun019Jul 11, 2013
12
discuz 或者ecmall的 框架都 挺好用的 扒出来用吧
|
|
credochenJul 11, 2013
13
我是用原生的PHP。smarty还没正式用过
|
|
harryxuJul 11, 2013
14
我倒是非常喜欢用laravel的blade模板,可以模板语法和php语法混用,感觉很轻量级又很灵活。
|
|
yetoneJul 11, 2013
15
@PrideChung 这种替代语法其实是不推荐的。
|
|
18
@yetone 官方文档没有任何关于替代语法的deprecation。http://php.net/manual/en/language.basic-syntax.phptags.php
如果你是指 short open tag, 同样的官方也没有任何不推荐使用的声明 http://php.net/manual/en/language.basic-syntax.phptags.php 唯一能想到的就是 PSR-0 推荐只使用 <?php ?> 和 <?= ?> ,但我觉得在view模板里面用 short open tag没有任何不妥。其他人不推荐使用 short open tag 的原因主要是因为这选项以前不是默认打开的,在虚拟主机上你没法动它的配置。如果你用比较新的PHP版本或者自己搭VPS基本可以无视。 就像 @skydiver 说的,现在 short_open_tag 已经变成默认打开了,姑且不论PSR,起码PHP官方是不反对使用的。 |
|
PrideChungJul 11, 2013
19
链接发错了,关于替代语法的官方文档:
http://php.net/manual/en/control-structures.alternative-syntax.php |
|
isyJul 11, 2013
20
还没开始学 smarty 的话就直接用 twig 吧
|
|
msg7086Jul 12, 2013
21
@PrideChung 我依稀看到了 PHP also allows for short tags <? and ?> (which are discouraged because ......
其实之前不推荐使用的主要原因是和xml语法有冲突吧…… |
|
ksc010Jul 12, 2013
22
用php的话看这一团糟啊
怪乱 |
|
PrideChungJul 12, 2013
23
@msg7086 居然把这句看漏了……PHP你嘴巴上说不要,又默认给打开了是闹哪样
|
|
summer_charlieJul 12, 2013
24
laravel 的 blade
|
|
ety001Jul 13, 2013
25
一直原生,沒用過smarty。。
|
|
felixyeJul 13, 2013
26
直接原生的PHP就可以了。
如果不怎么使用XML的话,可以考虑开短标签 short_open_tag |
|
dongbetaJul 14, 2013
27
Smarty 诞生和红火的应用背景已经不存在了。所以,别用了。
|
|
zebinaryJul 14, 2013
28
@PrideChung +1
我用yii,视图里面都是这样的写 |
|
jingwentianJul 14, 2013
29
@wdd2007 这么巧
|
|
picasso250Jan 14, 2014
30
|
|
msg7086Jan 14, 2014
31
@picasso250 请问您想说什么?
|
|
picasso250Jan 14, 2014
32
@msg7086
Note: This directive also affected the shorthand <?= before PHP 5.4.0, which is identical to <? echo. Use of this shortcut required short_open_tag to be on. Since PHP 5.4.0, <?= is always available. |