【发布时间】:2016-04-01 23:00:52
【问题描述】:
我正在开发 codeigniter 3。我使用 composer psr-4 自动加载。我启用作曲家配置为
$config['composer_autoload'] = FCPATH."vendor/autoload.php";
和我的 composer.json 自动加载为
"autoload":{
"psr-4":{
"App\\":"application"
},
"classmap":["system"]
}
}
我有一个抽象控制器 Controller.php as
<?php namespace App\controllers;
use CI_Controller;
abstract class Controller extends CI_Controller{}
效果很好。 但主要问题是当我写为控制器时
<?php namespace App\controllers;
use App\controllers\Controller;
use App\models\User;
class Welcome extends Controller {
public function index()
{
$this->load->view('welcome_message');
}
}
不起作用。如果我删除 namespace App\Controllers; 一切都会好起来的。
主要问题在哪里?谢谢。
【问题讨论】:
-
尝试作曲家转储自动加载。
-
不行,我之前试过。我得到了
404 Page Not Found。如果我删除namespace App\controllers;行,错误就消失了。 -
请检查您使用的 php 版本 php >= 5.3.0 支持命名空间
-
是的,我知道。我正在使用 5.6 版本的 php。我还注意到该错误仅针对欢迎控制器中的
namespace App\controllers;。但是Controller.php中的命名空间和welcome controller中的 use 语句工作正常。
标签: php codeigniter namespaces psr-4