smarty加载出现问题
init.inc.php
- PHP code
<!---ecms Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->define ( '__ROOT__', str_replace ( '\\', '/', dirname ( __FILE__ ) ) );include 'Ext/Smarty.class.php';class Tpl extends Smarty { function __construct() { $this->setTemplateDir ( __ROOT__."/View" ); $this->setCompileDir (__ROOT__."./comp_c" ); $this->left_delimiter = "right_delimiter = "}>"; parent::__construct(); }}
index.php
- PHP code
<!---ecms Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->include 'init.inc.php';class Index extends Tpl { function index(){ $this->assign('m','asdfasdfasdf'); $this->display('index.html'); }}$tpl = new Index();$tpl->index();
用的Smarty-3.1.11版本 报错信息是:
- PHP code
<!---ecms Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->Fatal error: Call to a member function createTemplate() on a non-object in D:\AppServ\www\smarty\Ext\sysplugins\sma<b>6本文来源gao@dai!ma.com搞$代^码!网7</b><pre>搞gaodaima代码
rty_internal_templatebase.php on line 47
只是我用普通的方法就不会出现问题 比如:
- PHP code
<!---ecms Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->$smarty = new Smarty();$smarty->setTemplateDir ( __ROOT__ . "/View" );$smarty->setCompileDir ( __ROOT__ . "/comp_c" );$smarty -> left_delimiter=" right_delimiter="}>";include "init.inc.php";$smarty->display("demo.tpl");
找了一天都没有解决,不知道哪里出现问题 求帮忙…
——解决方案——————–
你 print_r($this->Smarty); 看看
应该是没有实例化成功,即 $this->Smarty 不是 Smarty 对象