Изменяем дефолтную папку для моделей Laravel
В Laravel модели по умолчанию генерируются в корень директории app, что по ряду причине не удобно и идет в разрез с обычной логикой постоения структуры приложния.
Сегодня мы будем изменять дефолтную папку для моделей на /app/Models.
Шаг 1. Создаем новую консольную команду
Шаг 2. Изменяем класс, от которого наследуется класс новой команды
Меняем класс родитель для класса команды с Illuminate\Console\Command на Illuminate\Foundation\Console\ModelMakeCommand
Шаг 3. Удаляем все автосгенерированное содержимое классы и добавляем новый метод
Сразу приведу итоговый код класса:
После этого новые модели, сгенерированные командой php artisan make:model ModelName будут размещены в папкe /app/Models.
Обычно, я также перемещаю в эту папку и модель User, которая уже есть в новой установке Laravel из коробке. В этом случае, нужно будет подправить неймспейс в несколькоих местах. А именно в файлах:
- config/auth.php
И, если перенести Users до установки авторизации, то это будет единственный файл.