Поиск…
Изменить каталог приложений по умолчанию
Существуют случаи использования, когда вы можете переименовать каталог приложений в другое. В Laravel4 вы можете просто изменить запись в config, вот один из способов сделать это в Laravel5.
В этом примере мы переименуем каталог app
в src
.
Класс переопределения приложений
Каталоги имя app
является зашито в класс основного приложения, поэтому он должен быть перегружен. Создайте новый файл Application.php
. Я предпочитаю держать мой в каталоге src
(тот, который мы будем заменять приложением), но вы можете разместить его в другом месте.
Вот как должен выглядеть переопределенный класс. Если вы хотите другое имя, просто измените строку src
на другое.
namespace App;
class Application extends \Illuminate\Foundation\Application
{
/**
* @inheritdoc
*/
public function path($path = '')
{
return $this->basePath . DIRECTORY_SEPARATOR . 'src' . ($path ? DIRECTORY_SEPARATOR . $path : $path);
}
}
Сохраните файл. Мы закончили с этим.
Вызов нового класса
Откройте bootstrap/app.php
и найдите
$app = new Illuminate\Foundation\Application(
realpath(__DIR__.'/../')
);
Мы заменим его этим
$app = new App\Application(
realpath(__DIR__.'/../')
);
Композитор
Откройте файл composer.json
и измените автозагрузку в соответствии с вашим новым местоположением
"psr-4": {
"App\\": "src/"
}
И, наконец, в командной строке запустите composer dump-autoload
и ваше приложение должно быть отправлено из каталога src
.
Измените каталог контроллеров
если мы хотим изменить каталог Controllers
нам нужно:
- Переместите и / или переименуйте каталог
Controllers
по умолчанию, где мы хотим. Например, изapp/Http/Controllers
вapp/Controllers
- Обновите все пространства имен файлов внутри папки
Controllers
, чтобы они придерживались нового пути, учитывая специфику PSR-4.
- Измените пространство имен, которое применяется к файлу
routes.php
, отредактировавapp\Providers\RouteServiceProvider.php
и изменив это:
protected $namespace = 'App\Http\Controllers';
к этому:
protected $namespace = 'App\Controllers';