2015-01-28 3 views
2

Я попытался автозагрузить мои НОВЫЕ классы, но он не работает. Я получаю сообщение о том, что мой контроллер класса не существует. Я работаю в ubuntu env. с Laravel 4,2Composer dump-autoload в laravel кажется неработоспособным

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' => '[email protected]' ]); 

Я попытался сделать это, чтобы автозагрузить этот класс: composer dump-autoload -o и даже с разрешением sudo, но не работает. Я что-то упускаю? Спасибо.

ответ

2

Вы должны ссылаться на контроллер с полным именем в маршруте:

Route::get('user', [ 'as' => 'user.index', 'uses' => 'Controllers\[email protected]' ]); 

Если у вас есть многие из тех, вы можете также использовать route group для определения пространства имен:

Route::group(array('namespace' => 'Controllers'), function(){ 
    Route::get('user', [ 'as' => 'user.index', 'uses' => '[email protected]' ]); 
}); 
+0

делает смысл. Спасибо, я забыл включить его в группу маршрутов. Теперь работает! – agaezcode

Смежные вопросы