Heim  >  Artikel  >  Backend-Entwicklung  >  smarty加载出现有关问题

smarty加载出现有关问题

WBOY
WBOYOriginal
2016-06-13 13:12:13753Durchsuche

smarty加载出现问题
init.inc.php

PHP code
<!--

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
<!--

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
<!--

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\smarty_internal_templatebase.php on line 47



只是我用普通的方法就不会出现问题 比如: 

PHP code
<!--

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 对象
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn