Как сделать контроллеры, модели, просматривать внешнюю папку приложения в Lavarel 4?

Я хочу создать папку структуры следующим образом:

root/ admin/ controllers/ AdminController.php BaseController.php models/ views/ app/ ... etc 

Я обновил composer.json:

 "autoload": { "classmap": [ "app/commands", "app/controllers", "app/models", "admin/controllers", "admin/models", "admin/views", "app/database/migrations", "app/database/seeds", "app/tests/TestCase.php" ] }, 

А затем запустите 2 команды: composer dump-autoload , php artisan dump-autoload и создайте маршрут: Route::get('/admin', 'AdminController@showWelcome'); , Но когда я попал в http: // localhost / lavarel / admin , я получаю сообщение об ошибке. Кто-нибудь может показать мне, как решить эту проблему?

Зарегистрируйте команду PSR-4 в вашем composer.json, как это

 "psr-4" : { "root\\" : "YOUR_ROOT_FOLDER" } 

Затем в root / admin / controllers / AdminController.php вам нужно пропустить пробел в классе и вызвать любой класс, который вы распространяете или используете как это

 <?php namespace Root\Admin\Controllers; use BaseController; class AdminControllers extends BaseController { } 

Не забудьте запустить автозагрузку композитора

EDIT: чтобы иметь возможность использовать представления в других папках, кроме папки приложения, вам придется регистрировать представления, я обычно делаю это через поставщика услуг, как это

В root / admin создайте папку под названием Providers

Внутри создайте файл AdminServiceProvider.php и напишите в этом

 <?php namespace Root\Admin\Providers; use Illuminate\Support\ServiceProvider; class AdminServiceProvider extends ServiceProvider { public function register() { // } public function boot() { \View::addNamespace('admin', __DIR__ . '/../views/'); } } 

Теперь зайдите into app/config/app.php и прокрутите вниз до поставщиков, и до того, как конец массива добавит этот Root\Admin\Providers\AdminServiceProvider

Сохраните его и запустите composer dump-autoload

Теперь в int Root namespace Controllers вы можете вызвать любое представление, подобное этому

 return View::make('admin::NAME_OF_YOUR_VIEW'); 

или если вам нужно получить доступ к представлению изнутри папки

 return View::make('admin::NAME_OF_YOUR_FOLDER.NAME_OF_YOUR_VIEW');