请教sp里面禁用smarty模板的方法

#1 torrey

我以前一直用sp在自己做一些网站,对它的易用性很喜欢,最近在公司做项目,接触到了Yii的PHP框架。它跟sp很大的不同,可能就在于Yii里面没有用到类似smarty那样的模板。但它也一样有方法让控制器关联视图,视图里面再关联子视图的。
对比发现Yii做出来的项目页面展示速度更快,我在想这是不是跟它原生的视图写法有很大关系。所以我想请教sp里面有没有方法可以配置成不用模板引擎的? 虽然php代码和html代码不隔离会影响程序的可读性,但如果能大幅提高页面的展示速度,我希望能在我的下一个项目中做这样的尝试,就是用sp的框架,但是不用模板引擎来渲染视图...
特请教之...谢谢!

2012-03-03 00:52:21

#2 jake

首先说一下,那是你的感觉,而且Smarty在第一次加载会编译,所以“感觉会慢”,但后面访问就会比Yii更快(实际数据评测的结果)。

禁用Smarty很简单,有两个选择:
1. 配置
'view' => array( // 视图配置
                'enabled' => false, // 开启视图
关闭视图,那么你在代码内可以用include来加载你的模板(混合PHP的HTML)
这样和Yii差不多,只不过Yii对include进行了超过五个类的封装(为了好看)

2. 用speedy,这也是一个php原生语法的模板引擎,当然也是封装include(一个类)
用speedy的方法请参考手册。

另外,目前网络上流传的Smarty比较慢的传言,一直以来都有,但是没有哪个大牛级人物或者真实的数据说明这一点,都是一些初学者看到Smarty类库比较大,故有此一说。但是Yii比Smarty大100倍,当然广告做的好就好了。

2012-03-03 08:45:19

#3 torrey

谢谢老大!前面确实只是我的感觉,没有做什么测试的,也是现在所在公司的网站服务器和带宽都比较强劲,然后网站做了很多的缓存,加上目前负载较轻,所以页面加载速度非常快。

2012-03-03 21:26:34