Codeigniter3使用composer autoloader无法找到MY_Controller

时间:2017-03-02 14:57:15

标签: php codeigniter

我在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()来解决这个问题?但它们似乎根本没有用。有没有人以前有这个问题?

1 个答案:

答案 0 :(得分:1)

My_Controller应该在application / core / MY_Controller.php上 另外检查$ config [&#39; subclass_prefix&#39;]值应该是&#39; MY _&#39;像詹姆斯沃克说的那样