require smarty.class.php 报错,smarty设置封装问题

刚开始看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/";}}?>

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

我的版本是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/'; }}

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/"; }}

谢谢各位

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值