mlym / wise-generator-easyswoole
wise generator for EasySwoole
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 │
└────────────┴────────────────────────────────────────────────────────────────────────────────────────────────────┘```