Originally posted @ https://codeanddeploy.com посетите и скачайте пример кода:
https://codeanddeploy.com/blog/laravel/how-to-implement-laravel-modules-structure-with-nwidart-package
В этом посте я покажу вам, как реализовать структуру модулей Laravel с помощью пакета Nwidart. Это поможет нам сделать наше приложение чистым и организованным кодом, который легко поддерживать и повторно использовать для любых модулей внутри приложения.
Некоторые разработчики рекомендуют внедрять модули Laravel, потому что они поставляются с собственными контроллерами, моделями, ресурсами и многим другим. Это поможет нам не сломать наше приложение, даже если мы удалим один из наших модулей laravel, если это не базовый модуль, который связан с другими модулями.
Codeanddeploy также использует структуры модулей laravel.
При использовании модулей Laravel он будет генерировать следующие модули:
-
Config
-
Консоль
-
База данных
-
Сущности
-
Http
-
Провайдеры
-
Ресурсы
-
Маршруты
-
Тесты
Теперь давайте приступим к установке модулей Laravel.
Шаг 1: Установка Laravel
Если у вас еще не установлен Laravel 8, просто выполните следующую команду:
composer create-project --prefer-dist laravel/laravel laravel-modules-example
cd laravel-modules-example
Шаг 2: Установка пакета модулей Laravel
Теперь давайте установим наш пакет модулей Laravel от Nwidart. Выполните следующую команду:
composer require nwidart/laravel-modules
Шаг 3: Опубликовать файл конфигурации
Выполните следующую команду для публикации файла конфигурации.
php artisan vendor:publish --provider="NwidartModulesLaravelModulesServiceProvider"
Шаг 4: Настройка автозагрузки
Теперь нам нужно добавить "Modules":
"Modules/",
в ваш composer в разделе autoload
> psr-4
. См. пример ниже:
"autoload": {
"psr-4": {
"App\": "app/",
"Modules\": "Modules/",
"Database\Factories\": "database/factories/",
"Database\Seeders\": "database/seeders/"
}
},
Затем выполните следующую команду после установки выше:
composer dump-autoload
Итак, мы уже настроили наш пакет модулей Laravel. Далее давайте создадим модуль для нашего приложения Laravel.
Шаг 5: Создать модуль
Синтаксис команды create module:
php artisan make:module module_name
Затем выполните следующую команду для создания модуля, давайте сделаем пример для модуля Posts.
php artisan make:module posts
После выполнения вышеуказанных команд будет создан модуль Posts в папке Modules. Смотрите ниже структуру модулей Laravel:
app/
bootstrap/
vendor/
Modules/
├── Posts/
├── Assets/
├── Config/
├── Console/
├── Database/
├── Migrations/
├── Seeders/
├── Entities/
├── Http/
├── Controllers/
├── Middleware/
├── Requests/
├── Providers/
├── PostsServiceProvider.php
├── RouteServiceProvider.php
├── Resources/
├── assets/
├── js/
├── app.js
├── sass/
├── app.scss
├── lang/
├── views/
├── Routes/
├── api.php
├── web.php
├── Repositories/
├── Tests/
├── composer.json
├── module.json
├── package.json
├── webpack.mix.js
Теперь мы успешно сгенерировали наш модуль Posts
. Давайте протестируем его, выполнив приведенную ниже команду:
php artisan serve
Затем запустите URL в вашем браузере:
http://127.0.0.1:8000/posts
После этого вы увидите результат, показанный ниже:
Для получения более подробной информации об этом щелкните модули Laravel.
Я надеюсь, что этот учебник поможет вам. Пожалуйста, посетите здесь https://codeanddeploy.com/blog/laravel/how-to-implement-laravel-modules-structure-with-nwidart-package, если вы хотите скачать этот код.
Счастливого кодирования 🙂