Чтобы организовать мои контроллеры, я хотел бы отсортировать их в папках. Например, у меня есть панель администратора, в которой используется множество контроллеров, которые я не хочу смешивать с другими контроллерами. Я переместил эти контроллеры в папку в каталоге моих / контроллеров.
Поэтому моя структура выглядит так:
controllers / BaseController.php HomeController.php admin / AdminController.php Теперь мой администраторский контроллер выглядит так:
 namespace Admin; class AdminController extends \BaseController { public function getHome() { return \View::make('admin.home'); } } 
Затем я могу сделать групповой маршрут для моей панели администратора:
 Route::group(['namespace' => 'Admin'], function() { Route::get('admin', ['as' => 'admin', 'uses' => 'AdminController@getHome']); }); 
  В этом нет ничего плохого, но мне кажется, что это неудобство, чтобы пространство имен каждого класса в этих контроллерах использовалось с помощью \ .  Есть ли способ, которым я могу исключить использование пространства имен для каждого класса в этих контроллерах под управлением администратора?  Например, я не хочу набирать \View::make() , я хочу иметь View::make() . 
Похоже, вы хотите, чтобы ваши классы контроллеров по-прежнему находились в глобальном пространстве имен, но хотели бы, чтобы их можно было организовать в папки.
  Если вы посмотрите в своем composer.json , вы увидите, что папка контроллеров по умолчанию автоматически загружается с помощью «classmap» в папку.  Таким образом, вы можете добавить в список дополнительные папки.  Как это: 
 "autoload": { "classmap": [ "app/commands", "app/controllers", "app/controllers/admin", <-- additional folders "app/models", "app/database/migrations", "app/database/seeds", ] }, 
  Обратите внимание, что я добавил "app/controllers/admin" в массив classmap .  Вы можете добавить столько, сколько хотите.  Затем сделайте composer dump-autoload . 
  Другой способ сделать тот же подход – изменить app/start/global.php : 
 ClassLoader::addDirectories(array( app_path().'/commands', app_path().'/controllers', app_path().'/controllers/admin', // additional folders app_path().'/models', app_path().'/helpers', app_path().'/database/seeds', )); 
  AFAIK, это дает тот же эффект, что и модификация файла composer.json , за исключением того, что после добавления нового пути вам не нужно делать какие-либо composer . 
Обратите внимание, что весь ответ выше будет хорошо работать, если вы не ожидаете, что ваш код станет значительно больше. Представьте, что вам нужно поддерживать десятки папок контроллера таким же образом, а также риск столкновения имен классов.