codeurx/modular

Codeurx Modular是一个用于Laravel的包,可以帮助您创建和管理模块。

v2.1 2020-04-11 18:39 UTC

This package is auto-updated.

Last update: 2024-09-12 04:38:07 UTC


README

License Build Status Latest Stable Version Scrutinizer Code Quality

Codeurx Modular是一个用于Laravel的包,可以帮助您创建和管理模块。

安装

要通过Composer安装,请运行以下命令

composer require codeurx/modular

自动加载

默认情况下,模块类不会自动加载。您可以使用psr-4来自动加载您的模块。例如

{
  "autoload": {
    "psr-4": {
      "App\\": "app/",
      "App\\Modules\\": "app/Modules/"
    },
    "files": [
        "app/Modules/helpers/helpers.php"
    ]
  }
}

提示:别忘了运行composer dump-autoload

运行以下命令来发布modules表的迁移

php artisan vendor:publish --provider="Codeurx\Modular\ModularServiceProvider" --tag="migrations"

之后运行以下命令

php artisan migrate

用法

创建模块

要创建新模块,只需运行以下命令

php artisan modular:make <module-name>
  • <module-name> - 将其替换为所需模块的名称。

文件夹结构

app/Modules/
      ├── Users/
          ├─ Database/
             ├─ Migrations/
          ├─ Http/
             ├─ Controllers/
                ├─ UsersController.php
             ├─ Models/
                ├─ UsersModel.php
          ├─ Providers/
             ├─ UsersServiceProvider.php
          ├─ Resources/
             ├─ views/
                ├─ index.blade.php
          ├─ Routes/
             ├─ web.php 
      

您可以通过输入来访问用户模块的URL示例

http://sever/users/ or  http://sever/public/users/

对于示例数据

http://sever/users/users-test or  http://sever/public/users/users-test

删除模块

要删除特定模块,只需运行以下命令

php artisan modular:delete <module-name>
  • <module-name> - 将其替换为您要删除的模块的名称。

提示:如果模块不存在,您将被告知是否要创建它。

列出所有模块

要列出模块,只需运行以下命令

php artisan modular:list

为特定模块创建迁移

要为特定模块创建迁移,只需运行以下命令

php artisan modular:make-migration <module-name> --table=<table-name>
  • <module-name> - 将其替换为所需模块的名称。
  • <table-name> - 可选字段,将其替换为所需的表名。

如果您没有提供--table选项,则表名将默认使用模块的名称。

为所有模块迁移数据库

php artisan modular:migrate

为特定模块迁移数据库

php artisan modular:migrate <module-name>

为特定模块创建新的控制器

php artisan modular:make-controller <module-name> <controller-name>
  • <module-name> - 将其替换为所需模块的名称。
  • <controller-name> - 将其替换为控制器名称。

例如

  php artisan modular:make-controller users TestController

  php artisan modular:make-controller users Test/TestController

提示:如果您输入了第二个命令,文件夹结构将如下所示

app/Modules/
      ├── Users/
          ├─ Database/
             ├─ Migrations/
          ├─ Http/
             ├─ Controllers/
                ├─ Test 
                   ├─ TestController.php
                ├─ UsersController.php
             ├─ Models/
                ├─ UsersModel.php
          ├─ Providers/
             ├─ UsersServiceProvider.php
          ├─ Resources/
             ├─ views/
                ├─ index.blade.php
          ├─ Routes/
             ├─ web.php 
      

并且对于路由,您应该添加一行类似的内容

<?php

/*
|--------------------------------------------------------------------------
| Users Module Routes
|--------------------------------------------------------------------------
|
| All the routes related to the Users module have to go in here. 
|
*/

Route::get('/', 'UsersController@index');
Route::get('/users-test', 'UsersController@UsersTest');
Route::get('/test', 'Test\TestController@index');

为特定模块创建新的模型

php artisan modular:make-model <module-name> <model-name>
  • <module-name> - 将其替换为所需模块的名称。
  • <model-name> - 将其替换为模型名称。

例如

  php artisan modular:make-model users TestModel

  php artisan modular:make-model users Test/TestModel

提示:如果您输入了第二个命令,文件夹结构将如下所示

app/Modules/
      ├── Users/
          ├─ Database/
             ├─ Migrations/
          ├─ Http/
             ├─ Controllers/
                ├─ UsersController.php
             ├─ Models/
                ├─ Test 
                   ├─ TestModel.php
                ├─ UsersModel.php
          ├─ Providers/
             ├─ UsersServiceProvider.php
          ├─ Resources/
             ├─ views/
                ├─ index.blade.php
          ├─ Routes/
             ├─ web.php 
      

致谢

关于Amir Ali Salah

我是一名突尼斯全栈Web开发者。目前我在GIS(Gate Informatic Systems)工作,您可以访问我的网站获取更多信息。

许可

MIT许可(MIT)。有关更多信息,请参阅许可文件