> 백엔드 개발 > PHP 튜토리얼 > smarty加载出现有关问题

smarty加载出现有关问题

WBOY
풀어 주다: 2016-06-13 13:12:13
원래의
812명이 탐색했습니다.

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 对象
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿