mlym / wise-generator-easyswoole
wise generator for EasySwoole
This package's canonical repository appears to be gone and the package has been frozen as a result. Email us for help if needed.
    v1.5.2
    2021-07-28 15:59 UTC
Requires
- ext-json: *
- easyswoole/easyswoole: 3.4.x
- easyswoole/file-watcher: ^1.0
- easyswoole/http-client: ^1.5.0
- easyswoole/jwt: ^1.2
- easyswoole/orm: ^1.4
- nette/php-generator: ^3.2
- php-curl-class/php-curl-class: ^8.5
README
基于EasySwoole的code-generation改写,为了满足现有项目需求,部分功能类都有所调整,修复部分bug的同时也完善了一些功能。 为了迎合内部项目使用,计划整体结构会有较多的改动。
重要说明
自V1.3.1之后,不在基于数据库生成Schema信息,需要结合MiddleWare平台输出的中间结果来创建
版本说明
code-generation
使用命令行,一键生成业务通用代码,支持代码如下:
- 一键生成项目初始化 baseController,baseModel.支持自定义bastPath
- 一键生成 Model ,自带属性注释,支持自动识别autoTimeStamp、创建时间、更新时间
- 一键生成 CURD控制器(add/edit/getOne/getList/del)
安装
composer require mlym/wise-generator-easyswoole
使用
1. 基础配置
- 在bootstrap事件Di注入MySQL配置项:
<?php
\EasySwoole\EasySwoole\Core::getInstance()->initialize();
$mysqlConfig = new \EasySwoole\ORM\Db\Config(\EasySwoole\EasySwoole\Config::getInstance()->getConf('MYSQL'));
\EasySwoole\Component\Di::getInstance()->set('CodeGeneration.connection',$mysqlConfig);
//注入执行目录项,后面的为默认值,initClass不能通过注入改变目录
\EasySwoole\Component\Di::getInstance()->set('CodeGeneration.modelBaseNameSpace',"App\\Model");
\EasySwoole\Component\Di::getInstance()->set('CodeGeneration.controllerBaseNameSpace',"App\\HttpController");
\EasySwoole\Component\Di::getInstance()->set('CodeGeneration.rootPath',getcwd());
- 在dev.php添加MySQL配置项:
    'MYSQL' => [
        'host'          => '127.0.0.1',
        'port'          => 3306,
        'user'          => '账号',
        'password'      => '密码',
        'timeout'       => 5,
        'charset'       => 'utf8mb4',
        'database'      => '数据库',
        'maxObjectNum'  => 20,
        'minObjectNum'  => 5,
        'getObjectTimeout'  => 3.0,
    ]
- 在dev.php添加Middleware平台配置项:
    'WISE_GENERATOR'=>[
        'url'=>'http://middleware.wise-generator.livedevice.com.cn/admin/index/middleware',
        'project'=>'自定义Project编码'
    ]
- 在dev.php添加JWT配置项:
    'JWT' => [
        'secretKey' => '888888',  //JWT Secret Key
        'dataFields' => ['uid'],  //JWT Data 保存上下文的数据Key
        'ignoreAction' => ['/admin/login'], //不受权限控制的Action,后续版本会补充更详细的权限控制内容
    ]
执行命令:
php vendor/bin/wise-generator-easyswoole
2.初始化基础类:
参数:
- --basePath 基类所在目录(非必填)
php vendor/bin/wise-generator-easyswoole init --basePath=admin
参数示例:
┌────────────────────────┬────────────────────────────────────────────────────────────────────────────────────┐
│       className        │                        filePath                                                    │
├────────────────────────┼────────────────────────────────────────────────────────────────────────────────────┤
│ Controller             │ /wise-generator/wise-generator-easyswoole/App/HttpController/admin/Base.php        │
├────────────────────────┼────────────────────────────────────────────────────────────────────────────────────┤
│ Model                  │ /wise-generator/wise-generator-easyswoole/App/Model/admin/BaseModel.php            │
├────────────────────────┼────────────────────────────────────────────────────────────────────────────────────┤
│ Router                 │ /wise-generator/wise-generator-easyswoole/App/HttpController/Router.php            │
├────────────────────────┼────────────────────────────────────────────────────────────────────────────────────┤
│ Authorization          │ /wise-generator/wise-generator-easyswoole/App/Logic/Authorization.php              │
├────────────────────────┼────────────────────────────────────────────────────────────────────────────────────┤
│ AuthorizationException │ /wise-generator/wise-generator-easyswoole/App/Exception/AuthorizationException.php │
└────────────────────────┴────────────────────────────────────────────────────────────────────────────────────┘
3.自定义业务模块代码:
php vendor/bin/wise-generator-easyswoole all
参数:
- --moduleName 模块名称,请求中间件平台的重要凭证
- --modulePath 控制器类和模型类所在路径模块子路径
示例:
$ php vendor/bin/wise-generator-easyswoole all --modulePath=\\admin --moduleName=admin
┌────────────┬────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ className  │                                              filePath                                              │
├────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ Model      │ /Users/ryan/Desktop/src/composer/easyswoole-code-generation/App/Model/admin/MwUserModel.php     │
├────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ Controller │ /Users/ryan/Desktop/src/composer/easyswoole-code-generation/App/HttpController/admin/MwUser.php │
└────────────┴────────────────────────────────────────────────────────────────────────────────────────────────────┘```