salah3id / address-domains
Laravel 域管理
Requires
- php: >=8.2
- ext-json: *
- spatie/laravel-query-builder: ^6.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.6
- laravel/framework: ^11.0
- mockery/mockery: ^1.4
- orchestra/testbench: ^9.0
- phpstan/phpstan: ^1.4
- phpunit/phpunit: ^11.0
- spatie/phpunit-snapshot-assertions: ^5.1
README
salah3id/address-domains
是一个 Laravel 扩展包,用于通过仓库设计模式管理大型 Laravel 应用程序中的域,从而使我们的应用程序更易于维护。域类似于 Laravel 扩展包,它包含一些视图、控制器或模型。此包在 Laravel 9 中得到了支持和测试。
此包是重新发布和重新组织的 nWidart/laravel-modules,后者不支持仓库设计模式。
安装
要通过 Composer 安装,请运行以下命令
composer require salah3id/address-domains
该包将自动注册服务提供者和别名。
可选地,通过运行以下命令发布包的配置文件
php artisan vendor:publish --provider="Salah3id\Domains\LaravelDomainsServiceProvider"
自动加载
默认情况下,域类不会自动加载。您可以使用 psr-4
自动加载您的域。例如
{ "autoload": { "psr-4": { "App\\": "app/", "Domains\\": "Domains/", "Database\\Factories\\": "database/factories/", "Database\\Seeders\\": "database/seeders/" } }
提示:不要忘记运行 composer dump-autoload
。
创建域
使用以下命令生成您的第一个域
php artisan domain:make Address
将生成以下结构。
app/
bootstrap/
vendor/
Domains/
│ ├── Address/
│ │ ├── Assets/
│ │ ├── Config/
│ │ ├── Console/
│ │ ├── Database/
│ │ │ ├── Migrations/
│ │ │ ├── Seeders/
│ │ ├── Entities/
│ │ ├── Http/
│ │ │ ├── Controllers/
│ │ │ ├── Middleware/
│ │ │ ├── Requests/
│ │ ├── Providers/
│ │ │ ├── AddressServiceProvider.php
│ │ │ ├── RepositoryServiceProvider.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
│ │ └──
│ └── Other Domains ...
└── ... etc
使用以下命令生成多个域
php artisan domain:make Address User Admin Blog
domain:make
命令选项
命名约定
由于我们使用 psr-4 自动加载模块,我们强烈建议使用 StudlyCase 约定。
实用命令
domain:make
生成一个新的域
php artisan domain:make Address
domain:make
一次生成多个域。
php artisan domain:make Address User Admin
domain:use
这允许您在其他需要模块名称作为参数的命令中不指定域名。
php artisan domain:use Address
domain:unuse
此命令取消设置了使用 domain:use
命令设置的指定域名。
php artisan domain:unuse Address
domain:list
列出所有可用的域。
php artisan domain:list
domain:migrate
迁移指定的域,如果没有指定域名参数,则迁移所有域。
php artisan domain:migrate Address
domain:migrate-rollback
回滚指定的域,如果没有参数,则回滚所有域。
php artisan domain:migrate-rollback Address
domain:migrate-refresh
刷新指定模块的迁移,如果没有指定模块,则刷新所有模块的迁移。
php artisan domain:migrate-refresh Address
domain:migrate-reset
重置指定域的迁移,如果没有指定域,则重置所有域的迁移。
php artisan domain:migrate-reset Address
domain:seed
为指定的域播种,如果没有参数,则为所有域播种。
php artisan domain:seed Address
domain:publish-migration
发布指定域的迁移文件,如果没有参数,则发布所有域的迁移文件。
php artisan domain:publish-migration Address
domain:publish-config
发布指定域的配置文件,如果没有参数,则发布所有域的配置文件。
php artisan domain:publish-config Address
domain:publish-translation
发布指定域的翻译文件,如果没有指定域,则发布所有域的迁移文件。
php artisan domain:publish-translation Address
domain:enable
启用指定的域。
php artisan domain:enable Address
domain:disable
禁用指定的域。
php artisan domain:disable Address
domain:update
更新指定的域。
php artisan module:update Blog
致谢
许可证
MIT 许可证(MIT)。有关更多信息,请参阅 许可证文件。