我试图自动加载我的新课程,但它没有工作。我发现一个错误,说我的类控制器不存在。我在ubuntu环境中工作。与laravel 4.2
Composer.json
"psr-0": {
"Controllers": "app/",
"Stuffs": "app/"
}
应用/控制器/ UserController.php
<?php
namespace Controllers;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Input;
use Illuminate\Support\Facades\Request;
use Illuminate\Support\Facades\Response;
class UserController extends BaseController
{
public function index()
{
$stuffs = $this->stuffs->findAllForUser($this->user, 12);
$this->view('user.profile', compact('stuffs'));
}
}
应用/ routes.php文件
Route::get('user', [ 'as' => 'user.index', 'uses' => 'UserController@index' ]);
我试图这样做以自动加载这些类:
composer dump-autoload -o
,即使获得sudo
许可,但无效。我错过了什么吗?谢谢。
答案 0 :(得分:2)
您必须在路线中使用完全限定名称引用控制器:
Route::get('user', [ 'as' => 'user.index', 'uses' => 'Controllers\UserController@index' ]);
如果您有许多这些,您还可以使用route group来定义命名空间:
Route::group(array('namespace' => 'Controllers'), function(){
Route::get('user', [ 'as' => 'user.index', 'uses' => 'UserController@index' ]);
});