CI4在控制器里面的构造函数报错
本帖最后由 冰辉 于 2018-10-10 18:08 编辑CI没有core目录了,要验证用户登陆,因此想在构造函数里面写;
根据手册,在控制器内加了构造函数,报错误了:
public function __construct()
{
parent::__construct();
// Your own constructor code
}
还没有弄懂怎么调到开发环境,在log看了错误日志:
CRITICAL - 2018-10-10 18:00:04 --> Cannot call constructor
#0 D:\CodeIgniter\system\CodeIgniter.php(782): App\Controllers\Home->__construct()
#1 D:\CodeIgniter\system\CodeIgniter.php(300): CodeIgniter\CodeIgniter->createController()
#2 D:\CodeIgniter\system\CodeIgniter.php(220): CodeIgniter\CodeIgniter->handleRequest(NULL, Object(Config\Cache), false)
#3 D:\CodeIgniter\public\index.php(37): CodeIgniter\CodeIgniter->run()
#4 {main}
改为下面就可以了。
public function __construct()
{
// parent::__construct();
// Your own constructor code
}
去掉 parent::__construct(); 是不是继承不到原来的构造函数了? 我看了一下,最新的官方手册没有构造函数这个章节了,CI4 的中文手册有点过时,请参考官方手册 https://bcit-ci.github.io/CodeIgniter4/incoming/controllers.html 是的,没有了。我看英语版手册了。 改用过滤器吧 》》》https://bcit-ci.github.io/CodeIgniter4/incoming/filters.html 不是这样的吗?
public function __construct(...$params)
{
parent::__construct(...$params);
}
页:
[1]