wise-generator-easyswoole
ๅบไบEasySwoole็code-generationๆนๅ๏ผไธป่ฆๅบ็จไธๅ ้จ็ณป็ปใๅบๆฌไธๆๆ็ฑป้ฝๆๆ่ฐๆด๏ผๅๆถไนๅฎๅไบไธไบๅ่ฝใ
็ๆฌ่ฏดๆ
code-generation
ไฝฟ็จๅฝไปค่ก,ไธ้ฎ็ๆไธๅก้็จไปฃ็ ,ๆฏๆไปฃ็ ๅฆไธ:
- ไธ้ฎ็ๆ้กน็ฎๅๅงๅ baseController,baseModel,baseUnitTest.ๆฏๆ่ชๅฎไนModulePath
- ไธ้ฎ็ๆ Model ,่ชๅธฆๅฑๆงๆณจ้๏ผๆฏๆ่ชๅจ่ฏๅซautoTimeStampใๅๅปบๆถ้ดใๆดๆฐๆถ้ด
- ไธ้ฎ็ๆ CURDๆงๅถๅจ๏ผadd/edit/getOne/getList/delete๏ผ
- ไธ้ฎ็ๆ ๆงๅถๅจๅๅ ๆต่ฏ็จไพ
ๅฎ่ฃ
composer require mlym/easyswoole-code-generation
ๆนๅๅ ๅฎน
- Contorller็@ApiGroupDescriptionๅฏไปฅๆญฃ็กฎ่ฏปๅ่กจ็COMMENTไฟกๆฏ
- ControllerๅModelๅฏไปฅ้่ฟ--description ๅขๅ ๅ่ฝ่ฏดๆ
- ControllerๅModelๅฏไปฅ็ปงๆฟๅ็ฎๅฝ็Base็ฑป๏ผๅ
้่ฟๅๅงๅ
init --modulePath=\\ๆจกๅ็ฎๅฝ
็ๆBase็ฑป๏ผ - Controller็งป้คๅๅบๆณจ่งฃ๏ผ็ฑไบๆๆกฃ่ชๅจ็ๆไธๅฎ้ ้ๆฑๅๅทฎ่พๅคง๏ผ็งป้คไบๆๆResponseๅๆฐ่ฏดๆ
- Controllerไฟฎๅคๆณจ่งฃ้ฎ้ข๏ผๆๆๅบๅ@param็aliasๅdescription
- Controllerไฟฎๅคๆณจ่งฃ้ฎ้ข๏ผไฟฎๅคๆๆๅญๆฎต้ฝๆฏrequired=""๏ผๅฏผ่ดๅฟ ้กปๅกซๅ็้ฎ้ข
- Controller็งป้ค้จๅ่ฏทๆฑๆณจ่งฃ๏ผๅฆaddๆถIDๅฟ ๅกซใcreate_timeๅฟ ๅกซ็ญๆ ๅต
- Controllerๆนๆณๅๆฐ่ฐๆด๏ผไธบไบ็ปไธๅๅ็ซฏๅ้กตๅญๆฎต๏ผๅฐpageๆนไธบpageNo
- ControllerๅModel็ไปฃ็ ็ฎๅ
- Modelๆฏๆ่ชๅจ่ฏๅซ$autoTimeStampใ$createTimeใ$updateTime
- Modelๆฏๆ่ชๅจๅๅปบ่ฎพ็ฝฎๅจ
- ๅขๅ Options
ไฝฟ็จ
1. DIๆณจๅ ฅ
ๅจ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());
ๆง่กๅฝไปค:
php vendor/bin/wise-generator-easyswoole
2.ๅๅงๅๅบ็ก็ฑป:
php vendor/bin/wise-generator-easyswoole init
ๆ ๅๆฐ็คบไพ๏ผ
โโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ className โ filePath โ
โโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Model โ /Users/ryan/Desktop/src/composer/easyswoole-code-generation/App/Model/BaseModel.php โ
โโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Controller โ /Users/ryan/Desktop/src/composer/easyswoole-code-generation/App/HttpController/Base.php โ
โโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ UnitTest โ /Users/ryan/Desktop/src/composer/easyswoole-code-generation/UnitTest/BaseTest.php โ
โโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
ๅๆฐ๏ผ
- --modulePath ๆจกๅ่ทฏๅพ
php vendor/bin/wise-generator-easyswoole init --modulePath=\\admin
ๅๆฐ็คบไพ๏ผ
โโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ className โ filePath โ
โโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Model โ /Users/ryan/Desktop/src/composer/easyswoole-code-generation/App/Model/admin/BaseModel.php โ
โโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Controller โ /Users/ryan/Desktop/src/composer/easyswoole-code-generation/App/HttpController/admin/Base.php โ
โโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ UnitTest โ /Users/ryan/Desktop/src/composer/easyswoole-code-generation/UnitTest/admin/BaseTest.php โ
โโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
3.่ชๅฎไนไธๅกๆจกๅไปฃ็ :
php vendor/bin/wise-generator-easyswoole all
ๅๆฐ๏ผ
- --tableName ๅฟ ้กปๆๅฎ
- --modelPath ๅฟ ้กปๆๅฎ ๆจกๅ
- --controllerPath ๆงๅถๅจ
- --unitTestPath ๅๅ ๆต่ฏ
- --extendBase ็ปงๆฟๅ็ฎๅฝBaseๅบ็ฑป๏ผไธ้่ฆๆๅฎๅ ทไฝๅผ
- --description ๆงๅถๅจๅๆจกๅ็ๆ่ฟฐ
็คบไพ๏ผ
$ php vendor/bin/wise-generator-easyswoole all --tableName=mw_user --controllerPath=\\admin --modelPath=\\admin --extendBase --description=็จๆทๆจกๅ
โโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 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 โ
โโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ```
### 4.็ๆJsonไธญ้ดไปถ
```bash
php vendor/bin/wise-generator-easyswoole json --tableName=mw_test
โโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Table โ MiddleFilePath โ
โโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ mw_test_one โ /Users/ryan/Desktop/src/composer/easyswoole-code-generation/json_file/mw_test_one.json โ
โโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
ๅๆฐ๏ผ
- --tableName ๅฟ ้กปๆๅฎ