smarty设置封装问题

WBOY
Release: 2016-06-20 12:37:27
Original
1258 people have browsed it

刚开始看smarty 安装成功了现在想把smarty路径什么的封装到一个拓展类里面不知道为什么老是报错 哪位大神帮忙看一看

Fatal error: Uncaught Error: Call to a member function create() on null in D:\xampps\htdocs\。。。。s\smarty_internal_templatebase.php(109): Smart in D:\xampps\htdocs\xampps\ss\smarty\sysplugins\smarty_internal_templatecompilerbase.php on line 327

define('BASE_PATH',$_SERVER['DOCUMENT_ROOT']);define('SMARTY_PATH','/xampps/ss/smarty/');require BASE_PATH.SMARTY_PATH."Smarty.class.php";          // 调用Smarty文件class SmartyProject extends Smarty{          // 定义类,继承Smarty父类	public function __construct(){                    // 定义构造方法,配置Smarty模板               $this->Smarty();		$this->template_dir = BASE_PATH.SMARTY_PATH."templates/"; // 指定模板文件存储在templates文件夹内		$this->compile_dir = BASE_PATH.SMARTY_PATH."templates_c/";		$this->config_dir = BASE_PATH.SMARTY_PATH."configs/";		$this->cache_dir = BASE_PATH.SMARTY_PATH."cache/";	}}?>
Copy after login


代码手册上直接复制下来的

我的版本是3.1


回复讨论(解决方案)

一般这么写

require('Smarty-3.1.18/libs/Smarty.class.php');class mySmarty extends Smarty {  public $tplname = [];  function __construct($tpl) {	parent::__construct();	$this->template_dir = dirname(__FILE__) . '/buffer/templates/';	$this->compile_dir = dirname(__FILE__) . '/buffer/templates_c/';	$this->config_dir = dirname(__FILE__) . '/buffer/configs/';	$this->cache_dir = dirname(__FILE__) . '/buffer/cache/';   }}
Copy after login

public function __construct(){
你重写了构造函数,所以需要调用一下父类的构造函数。

class SmartyProject extends Smarty{          // 定义类,继承Smarty父类    public function __construct(){                    // 定义构造方法,配置Smarty模板       parent::__construct();       $this->Smarty();        $this->template_dir = BASE_PATH.SMARTY_PATH."templates/"; // 指定模板文件存储在templates文件夹内        $this->compile_dir = BASE_PATH.SMARTY_PATH."templates_c/";        $this->config_dir = BASE_PATH.SMARTY_PATH."configs/";        $this->cache_dir = BASE_PATH.SMARTY_PATH."cache/";    }}
Copy after login

谢谢各位 

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!