salah3id/address-domains

v2.1 2024-05-14 22:13 UTC

This package is auto-updated.

Last update: 2024-09-15 00:11:37 UTC


README

Latest Version on Packagist Software License Scrutinizer Coverage Quality Score Total Downloads

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)。有关更多信息,请参阅 许可证文件