
2007-6-24 22:26
kylingood
Zend Framework与Smarty模板引擎集成的办法
今晚刚配好zendframework。想问问朋友有没有玩过让ZF和Smarty组合一起。希望朋友有时间的话给的点思路~~~~谢谢~!~!~
[[i] 本帖最后由 Haohappy 于 2007-6-27 00:44 编辑 [/i]]
2007-6-25 11:54
wanghaozi
[url]http://www.phpeye.com/bbs/viewthread.php?tid=64&extra=page%3D1[/url] 这个例子就是用smarty 做了view
2007-6-25 15:08
kylingood
闷死了。看不明白他是怎么搞的。就是说他的路径有点让人晕!~~~有没有人有这方面的教程。
2007-6-25 15:49
蒲公英
建议你先了解了解ZF
2007-6-26 00:00
gbbnvc
:o :o :o
2007-6-26 00:05
smallcat
你最好先看看ZF的Action Helpers和View Scripts,并且在View Scripts中有ZF中集成SMARTY的方法.
2007-6-26 11:11
kylingood
[quote]原帖由 [i]蒲公英[/i] 于 2007-6-25 15:49 发表 [url=http://www.phpeye.com/bbs/redirect.php?goto=findpost&pid=321&ptid=72][img]http://www.phpeye.com/bbs/images/common/back.gif[/img][/url]
建议你先了解了解ZF [/quote]
谢谢前辈你的建议。你在这里发的贴子。我按上面的配好了。现在还没看明白和SMATRY的结合。呵呵。。人太笨了。。。
还要谢谢楼上各位热心的兄弟!~!~!
2007-6-26 12:27
蒲公英
咱都是初学者都需要经过这个过程,别着急 :)
2007-6-26 22:53
wps2000
为什么要结合了?
Zend Framework是Zend Framework,Smarty是Smarty,按照ZF的规范使用Smarty模板,就是这样啊?
结合有n种方法,如果你不嫌弃麻烦的话,在每个Action中的$tpl = new Smarty一次也行啊!(事实上就是难看点嘛:lol )
关键不是结合的问题,是理解ZF和Smarty各自的问题,如果不理解的话,今天会遇到与Smarty结合的问题,明天又遇到与Pear结合的问题
2007-6-27 00:38
Haohappy
-_-楼上这样回答对新手似乎有误导。
使用Smarty是有好处的。因为Zend_View直接使用PHP语法,如果项目需要允许用户自行设计模板时,就可能存在安全问题。而使用第三方的模板引擎,比如Smarty,只要把PHP代码功能关闭,就很安全了。
而且每个公司有自己习惯的技术体系,Smarty还是有很多人用的,实现ZF和Smarty的结合很有意义。
你说的方式是可以的,就是太土了,嘿嘿,而且容易留下冗余代码。
建议楼主看看这篇文章:
[b]Integrating Smarty with the Zend Framework[/b]
[url]http://devzone.zend.com/node/view/id/120[/url]
还有这篇文章,更详细,有完整的代码:
[url]http://www.phpinsider.com/smarty-forum/viewtopic.php?t=7865[/url]
[[i] 本帖最后由 Haohappy 于 2007-6-27 00:43 编辑 [/i]]
2007-6-27 08:19
kylingood
哈哈。。。。没想到在这里得到老大细心的指导。受宠若惊!~~真是非常感谢谢老大和回贴给我意见的朋友。:lol :loveliness:
2007-6-27 15:30
wps2000
[quote]原帖由 [i]Haohappy[/i] 于 2007-6-27 00:38 发表 [url=http://www.phpeye.com/bbs/redirect.php?goto=findpost&pid=331&ptid=72][img]http://www.phpeye.com/bbs/images/common/back.gif[/img][/url]
-_-楼上这样回答对新手似乎有误导。
使用Smarty是有好处的。因为Zend_View直接使用PHP语法,如果项目需要允许用户自行设计模板时,就可能存在安全问题。而使用第三方的模板引擎,比如Smarty,只要把PHP代码功能关闭,就很安全 ... [/quote]
:lol 貌似这个年代流行把简单的玩意儿弄得复杂
以前那种 Zend_Registry::set、以及setParam('Smarty', new Smarty)的方法多好学啊,有容易理解
2007-7-5 11:53
kylingood
怎么没有人回个贴啊。一起来讨论啊!~~~:lol :lol
2007-7-5 16:04
kylingood
以下这文章是转自PHPCHINA一位名为xgwork (Mallec) 的朋友的文章。
Z F 结合smarty的用法探讨
有2个方法
1.用接口的。具体大家可看手册上有.
2.用对象的方法。
我个人喜欢用对象的方法,
[Copy to clipboard] [ - ]PHP代码:
index.php
[php]
....
$views = new Smarty();
$views->compile_dir = 'view/templates_c';
$views->cache_dir = 'view/cache_c';
$views->template_dir = "view/templates/$setting[templet]";
/*dynamic为不缓存函数块*/
function smarty_block_dynamic($param,$content,&$views)
{
return $content;
}
$views->register_block('dynamic','smarty_block_dynamic',false);
/*end*/
Zend_Registry::set('views', $views);
...
[/php]
[Copy to clipboard] [ - ]PHP代码:
[php]
class IndexController extends Zend_Controller_Action
{
private $views; /*模板对象*/
private $Mallec; /*Mallec会话组*/
public function init()
{
/*拿回注册过的对象,返回给views*/
$this->views = Zend_Registry::get('views');
/*变量DIR为模板实际路径*/
$this->views->assign('DIR',$this->_request->getBaseUrl().'/'.$this->views->template_dir);
/*设置缓存*/
$this->views->caching = true;
/*会话组*/
$mallec_login = new Zend_Session_Namespace('mallec_login');
$this->Mallec = $mallec_login->Mallec;
$this->views->assign('Mallec',$this->Mallec);
}
}
[/php]
[[i] 本帖最后由 kylingood 于 2008-1-23 16:31 编辑 [/i]]
2007-7-31 21:46
kylingood
顶~~~~~~~~
2007-8-16 17:36
inmagic
发错地方了
2007-10-25 23:37
abin30
一直排斥smarty 的一个原因就是它 太庞大了,太复杂了。。。 但实话说,本人没有具体用过,只不过看到那么多文件,直接放弃了。
现在不知道的是,使用Smarty 对系统的性能到底有多大的影响。
2008-1-1 01:21
bc1998
我现在看了好多,但是一直没发现有人用接口方式,这是为什么呢?接口方式有什么欠缺呢?
另外我想问结合smarty之后如何在模板页中继续使用zend_view_helper呢?
2008-1-2 08:48
ringtail
我有单独用过smarty,觉得挺好用的,不复杂,而且省了很多事情。
2008-1-14 22:30
Cykit
[quote]原帖由 [i]Haohappy[/i] 于 2007-6-27 00:38 发表 [url=http://www.phpeye.com/bbs/redirect.php?goto=findpost&pid=331&ptid=72][img]http://www.phpeye.com/bbs/images/common/back.gif[/img][/url]
-_-楼上这样回答对新手似乎有误导。
使用Smarty是有好处的。因为Zend_View直接使用PHP语法,如果项目需要允许用户自行设计模板时,就可能存在安全问题。而使用第三方的模板引擎,比如Smarty,只要把PHP代码功能关闭,就很安全 ... [/quote]
我相信,大多用户根本就不知道HTML为何物,更何况让用户私用Smarty,让用户自行设计模板提供Smaty真的有意义吗?
页:
[1]
Powered by Discuz! Archiver 5.5.0
© 2001-2006 Comsenz Inc.