我在CI3中使用了composer自动加载器,它是根文件夹中的供应商的默认文件夹布局,所以我在配置中将其设置为:
getdate()
这很好用我可以将编写器包加载到控制器类中。我想创建一个新的“基础”控制器,我的所有控制器都会扩展,但无论我尝试什么,我都会收到错误$config['composer_autoload'] = __DIR__ . '/../../vendor/autoload.php';
。
MY_Controller.php(core / MY_Controller.php)
Fatal error: Class 'MY_Controller' not found
Welcome.php(application / controllers / Welcome.php)
<?php
class MY_Controller extends CI_Controller
{
function __construct()
{
parent::__construct();
}
}
加载此视图后,我会收到错误<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Welcome extends MY_Controller {
public function __construct()
{
parent::__construct();
}
public function index()
{
$this->load->view('welcome_message');
}
}
。我猜它是因为我使用的是composer自动加载器而不是CI默认值?
我见过各种疯狂和“有创意的人”?使用配置文件中的__autoload()来解决这个问题?但它们似乎根本没有用。有没有人以前有这个问题?
答案 0 :(得分:1)
My_Controller应该在application / core / MY_Controller.php上 另外检查$ config [&#39; subclass_prefix&#39;]值应该是&#39; MY _&#39;像詹姆斯沃克说的那样