2014-01-07 3 views
1
Route::group(array('prefix' => 'admin'), function() 
{ 

    Route::group(array('before' => 'admin-auth'), function() 
    { 
Route::get('/add-draft', array('as' => 'admin-get-draft', 'uses' => 'Vendor\Controllers\Admin\[email protected]')); 
Route::post('/add-draft', array('as' => 'admin-post-draft', 'uses' => 'Vendor\Controllers\Admin\[email protected]')); 
    }); 

}); 

КомпозиторОрганизация Laravel Контроллеры Папки

"autoload": { 
     "psr-0": { 
      "Vendor": "app" 
     }, 
     "classmap": [ 
      "app/commands", 
      "app/controllers", 
      "app/models", 
      "app/database/migrations", 
      "app/database/seeds", 
      "app/tests/TestCase.php" 

     ] 
    }, 

CrawlController

<?php namespace Vendor\Controllers\Admin; 
class CrawlController extends BaseController{ 

я получаю

Symfony \ Component \ Debug \ Exception \ FatalErrorException 
Class 'Vendor\Controllers\Admin\User' not found 

Внутри моего контроллера, у меня есть папка администратора, который содержит контроллер (CrawlController.php)

Я хочу, чтобы иметь возможность использовать ORM, который будет вызывать мою папку Model, которая находится на том же уровне, что и папка контроллеров.

Как я могу сделать это правильно с помощью PSR-0? Выше были мои коды.

ответ

2

Ваш контроллер правильно загружается, но ищет класс пользователя внутри одного и того же пространства имен. Скорее всего, вы пытаетесь загрузить свою модель пользователя в свой контроллер. Вы должны либо объявить модель пользователя, используя инструкцию USE, после объявления вашего пространства имен, либо префикс своих классов с «\», как «\ Пользователь»

+0

Как правильно объявить модель пользователя? – TransformBinary

+0

Модель пользователя технически находится в глобальном пространстве имен, поэтому \ User. Однако вам не нужно называть пространства ваших контроллеров. – bgallagh3r

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