我需要一个人在这里,我很困惑我将如何将我的文件放在我的代码中。我有两个名为
的控制器ex:
controller1.php
controller2.php
我希望在controller1.php
中的所有函数都可以在controller2.php中访问,所以我写了
class Controller2 extends Controller1 {
}
我在这里应用了我所理解的Calling a Controller function in another Controller in CodeIgniter
但我收到错误
Fatal error: Class 'Controller1' not found in C:\xampp\htdocs\bla\application\controllers\Controller2.php on line 3
然后我搜索了任何可能的解决方案,然后我发现我必须将Controller1.php
放在核心文件夹中,但我收到同样的错误.. MY_Controller class not found
我正在使用最新版本的codeigniter框架。
我错过了什么?怎么样?
答案 0 :(得分:0)
将文件和类重命名为“MY_Controller”,如果将其放入“/ core”文件夹中。前缀很重要(顺便说一下,您可以在配置中设置)。另外,请确保在MY_Controller中扩展CI_Controller
class MY_Controller extends CI_Controller
{
public function __construct()
{
parent::__construct();
}
}
然后,您可以使用其他控制器访问此核心控制器,如下所示:
class Controller1 extends MY_Controller
{
public function __construct()
{
parent::_construct();
}
}
答案 1 :(得分:0)
Controller1
将自动加载,并且如果您将其放在application/core/MY_Controller.php
内,则可以用于扩展。
否则,您必须使用require
:
require APPPATH . 'controllers/Controller1.php';
class Controller2 extends Controller1 { }