jminayat/modules-laravel

模块化Laravel应用

v2.0.9 2018-04-17 14:59 UTC

README

jminayat/modules-laravel 是一个用于管理Laravel应用模块的包。兼容Laravel版本5.5。

安装

通过composer安装此包。

composer require jminayat/modules-laravel

由于模块不会自动加载,您需要加载模块文件夹。您可以使用 psr-4来自动加载您的模块。

编辑主composer文件,并添加

{
  "autoload": {
    "psr-4": {
      "App\\": "app/",
      "Modules\\": "modules/"
    }
  }
}

不要忘记执行 composer dump-autoload

您可以发布迁移文件。

php artisan vendor:publish --provider="JMinayaT\Modules\ModulesServiceProvider" --tag="migrations"

迁移发布后,您可以通过执行迁移来创建模块表

php artisan migrate

您可以选择发布配置文件。

php artisan vendor:publish --provider="JMinayaT\Modules\ModulesServiceProvider" --tag="config"

发布后,config/modules.php 配置文件包含

<?php

return [

  /*
   * Name of the table to use
   * default value but you may easily change it to any table you like.
   */

   'table_name'  =>  'modules',

];

使用

创建模块

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

php artisan module:create <module-name>
  • <module-name> - 用所需模块的名称替换。
  • module description - 编写创建的模块的描述。

要创建新模块时自动添加控制器、模型和迁移,请使用:-c -d -m

php artisan module:create <module-name> -c -d -m
  • -c--controller - 创建控制器。
  • -d--model - 创建模型。
  • -m--migration - 创建迁移。

文件夹结构

modules/
  ├── Blog/
      ├── Controllers/
      ├── Database/
          ├── migrations/
      ├── Models/
      ├── Resources/
          ├── Assets/
          ├── lang/
          ├── views/
      ├── Route/
          ├── web.php
          ├── api.php
      ├── module.json

Artisan命令

注意命令名称使用 "test" 作为示例模块的名称

module:active

激活或禁用模块,使用 true 或 false。

php artisan module:active test true 

module:create

创建新模块。

php artisan module:create test

选项

  • -c--controller - 创建控制器。
  • -d--model - 创建模型。
  • -m--migration - 创建迁移。

module:delete

删除模块。

php artisan module:delete test 

module:install

从zip文件安装模块。

php artisan module:install var/this-path/test.zip 

module:list

显示所有模块的列表。

php artisan module:list

module:make-controller

创建新的模块控制器。

php artisan module:make-controller test TestController

module:make-middleware

创建新的模块中间件类。

php artisan module:make-middleware test TestMiddleware

module:make-request

创建新的模块请求类。

php artisan module:make-request test TestRequest

module:make-model

创建新的模块模型。

php artisan module:make-model test TestModel

选项

  • -m--migration - 创建迁移。

module:make-migration

创建新的模块迁移。

php artisan module:make-migration test create_tests_table

module:make-seeder

创建新的模块种子类。

php artisan module:make-seeder test testSeeder

module:make-factory

创建新的模块工厂类。

php artisan module:make-factory test testFactory

module:make-test

创建新的模块测试类。

php artisan module:make-test test userTest

module:make-policy

创建新的模块策略类。

php artisan module:make-policy test testPolicy

module:publish

发布模块zip文件。

php artisan module:publish test

module:up

升级配置文件模块json。

php artisan module:up test

module:migrate

迁移所有模块的数据库。

php artisan module:migrate

要迁移特定模块,请使用

php artisan module:migrate test

module:rollback

回滚最后模块的数据库迁移。

php artisan module:rollback

要回滚特定模块,请使用

php artisan module:rollback test

module:seed

模块种子数据库中的记录。

php artisan module:sedd

要种子特定模块,请使用

php artisan module:seed test

门面方法

获取所有模块。

Module::all();

获取特定模块。

Module::get('test');

获取所有激活模块。

Module::getEnabled();

获取所有禁用模块。

Module::getDisabled();

检查指定的模块。如果存在,将返回 true,否则返回 false。

Module::has('test');

计算所有模块的数量。

Module::count();

使用zip文件安装模块。

Module::install('path/file.zip');

迁移指定模块的数据库。

Module::moduleMigrate('test');

回滚指定模块的数据库。

Module::moduleRollback('test');

迁移所有模块的数据库。

Module::moduleMigrateAll();

回滚所有模块的数据库。

Module::moduleRollbackAll();

模块方法

从特定模块获取实体。

$module = Module::get('test');

获取模块名称的studlycase格式。

$module->studlyName();

获取模块的状态,如果它是激活或禁用。

$module->status();

启用指定的模块。

$module->active();

启用指定的模块。

$module->disable();

删除指定的模块。

$module->delete();

获取模块路径。

$module->getPath();

获取模块 JSON 文件。

$module->getModuleJson();

许可证

MIT 许可证 (MIT)。请参阅 许可证文件 了解更多信息。