0

伙计们,我需要帮助,我对如何放置我的文件以使我的代码工作感到困惑。我有 2 个控制器名为

ex: 
controller1.php
controller2.php

我希望我的所有功能都controller1.php可以在 controller2.php 中访问,所以我写

class Controller2 extends Controller1 { 

}

我在这里应用了我所理解的在 CodeIgniter 中调用另一个控制器中的控制器函数

但我收到一个错误

Fatal error: Class 'Controller1' not found in C:\xampp\htdocs\bla\application\controllers\Controller2.php on line 3

然后我搜索了任何可能的解决方案然后我发现我必须放在Controller1.php核心文件夹中但我得到了同样的错误.. MY_Controller 类未找到

我正在使用最新版本的 codeigniter 框架。

我错过了什么?如何?

4

2 回答 2

0

Controller1如果你把它放在里面,它将被自动加载并能够用于扩展application/core/MY_Controller.php

否则,您必须使用require

require APPPATH . 'controllers/Controller1.php';
class Controller2 extends Controller1 { }
于 2013-10-17T07:39:53.550 回答
0

如果将文件放在“/core”文件夹中,则将其重命名为“MY_Controller”。前缀很重要(顺便说一下,您可以在配置中设置)。另外,请确保在 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();
    }
}
于 2013-10-17T07:38:50.700 回答