我对class MY_Controller extends CI_Controller大概class Profile extends MY_Controller要文件节具有通用逻辑,因此我尝试使用对概要文件节的通用逻辑进行创建,并且与该节相关的所有类都应按照我的理解正确扩展此Profile类,但是当我尝试创建时class Index extends Profile会收到错误消息:
class MY_Controller extends CI_Controller
class Profile extends MY_Controller
class Index extends Profile
Fatal error: Class 'Profile' not found
CodeIgniter尝试找到index.php我正在其中运行的此类。
index.php
我的错误在哪里?或者,也许还有另一种更好的方法来标记出通用逻辑?
我认为您已经将MY_Controller放在/ application / core中,并在配置中设置了前缀。我会谨慎使用index作为类名。作为Codeigniter中的功能/方法,它具有专用的行为。
如果然后要扩展该控制器,则需要将这些类放在同一文件中。
例如,在/ application核心
/* start of php file */ class MY_Controller extends CI_Controller { public function __construct() { parent::__construct(); } ... } class another_controller extends MY_Controller { public function __construct() { parent::__construct(); } ... } /* end of php file */
在/ application / controllers中
class foo extends MY_Controller { public function __construct() { parent::__construct(); } ... }
要么
class bar extends another_controller { public function __construct() { parent::__construct(); } ... }