继承smarty类时遇到的问题,求指导!!
我直接把smarty的libs目录拷进测试项目中,测试项目很简单,有两个文件demo.php和init.inc.php,然后我在init.inc.php做一些配置,比如界定符、模板目录之类,如果是以这种方式:
- PHP code
<!---ecms Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><?php include_once './libs/Smarty.class.php'; $tpl=new Smarty; $tpl->left_delimiter="<!---ecms {"; $tpl->right_delimiter="}-->";?>
配置完成后在demo.php中我这样写
- PHP code
<!---ecms Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><?php require_once 'init.inc.php'; <span>%本文来源gaodai#ma#com搞*代#码9网#</span><strong>搞gaodaima代码</strong> $title="this is a title"; $content="this is my content"; $tpl->assign("title",$title); $tpl->assign("content",$content); $tpl->display("default/test.tpl");?>
显示没问题
如果是另外做一个继承与smarty类的类mySmarty代码如下,在init.inc.php中
- PHP code
<!---ecms Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> <?php include_once './libs/Smarty.class.php'; class mySmarty extends Smarty{ function mySmarty(){ $this->Smarty(); $this->template_dir="./templates/"; $this->compile_dir="./templates_c/"; $this->config_dir="./configs/"; $this->cache_dir="./cache/"; $this->caching=true; $this->left_delimiter="<!---ecms {"; $this->right_delimiter="}-->"; $this->assign('app_name','mySmartyTest'); } } ?>
在demo.php中我做如下的调用和显示
- PHP code
<!---ecms Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><?php require_once 'init.inc.php'; $tpl=new mySmarty; $title="this is a title"; $content="this is my content"; $tpl->assign("title",$title); $tpl->assign("content",$content); $tpl->display("default/test.tpl");?>
则会报500错误,到底怎么回事呢,求高手指导,谢谢!!
——解决方案——————–
你把 php 的错误显示功能打开,就知道哪里有问题了
继承的
如果是 Smarty 2 应该无大错
如果是 Smarty 3 那就是另一回事了
——解决方案——————–
俺打工六年,就一个经验告诉你,尽早放弃 smarty 这种没人性的模版引擎。
——解决方案——————–
因为那东西麻烦死了