请选择 进入手机版 | 继续访问电脑版

SpeedPHP框架

 找回密码
 注册成为新用户

QQ登录

只需一步,快速开始

查看: 2051|回复: 3

Fatal error: Call to a member function assign()

[复制链接]
发表于 2014-8-8 09:40:39 | 显示全部楼层 |阅读模式
Fatal error: Call to a member function assign() on a non-object in F:\develop\APMServ-v5.2.6\APMServ-v5.2.6\APMServ5.2.6\www\htdocs\speedphp\SpeedPHP\Core\spController.php on line 81
为什么会出现这个问题啊。我的CONFIG文件没有配置错啊:
'view' => array( // 视图配置
                'enabled' => TRUE, // 开启视图
                'config' =>array(
                        'template_dir' => APP_PATH.'/tpl', // 模板目录
                        'compile_dir' => APP_PATH.'/tmp', // 编译目录
                        'cache_dir' => APP_PATH.'/tmp', // 缓存目录
                        'left_delimiter' => '<{',  // smarty左限定符
                        'right_delimiter' => '}>', // smarty右限定符
                        'auto_literal' => TRUE, // Smarty3新特性
                ),
发表于 2014-8-8 10:25:18 | 显示全部楼层
检查一下你的控制器的构造函数,和控制器的继承

1. 控制器是否已经继承spController,如果没有,请参考手册入门教程。
2. 控制器构造函数是否存在,要加上 parent::__construct(); 来启动父类。
 楼主| 发表于 2014-8-8 10:40:05 | 显示全部楼层
jake 发表于 2014-8-8 10:25
检查一下你的控制器的构造函数,和控制器的继承

1. 控制器是否已经继承spController,如果没有,请参考手 ...

好了,我没有加 parent::__construct(); 怎么也可以啊?
发表于 2014-8-8 11:09:21 | 显示全部楼层
通和bruce 发表于 2014-8-8 10:40
好了,我没有加 parent::__construct(); 怎么也可以啊?

上面的提示是说你的代码调用了没有实例的方法,而这个smarty示例是在spController的__construct构造函数里面实例化的,因为你在继承的控制器里面覆盖了__construct,所以导致没办法执行父类的__construct。

所以在你的控制器的__construct里面,要调用一下父类的__construct。
您需要登录后才可以回帖 登录 | 注册成为新用户

本版积分规则

手机浏览|简版|中文PHP框架|开源协议|SpeedPHP.com ( 粤ICP备08008671号

GMT+8, 2020-1-18 13:27

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表