# php-code-generator **Repository Path**: open-php/php-code-generator ## Basic Information - **Project Name**: php-code-generator - **Description**: 基于php的代码生成器 - **Primary Language**: PHP - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 11 - **Forks**: 3 - **Created**: 2023-06-19 - **Last Updated**: 2025-08-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # code-generator [English doc](./README.en.md) ### 介绍 基于php的代码生成器,根据数据库表快速生成CURD方法,是基于渲染模板的方法 ### 运行环境 php `^7.2|^8.0` ### 支持范围 目前仅支持laravel,webman,后续会支持goravel,drogon等,也欢迎提交模板 - [x] PHP-laravel 蛇形命名 - [x] PHP-laravel 驼峰命名 - [x] PHP-webman 蛇形命名 - [x] PHP-webman 驼峰命名 - [x] Golang-goravel 蛇形命名 - [x] Golang-goravel 驼峰命名 - [x] PHP-hyperf 蛇形命名 - [x] PHP-hyperf 驼峰命名 - [ ] CPP-drogon 蛇形命名 - [ ] CPP-drogon 驼峰命名 ### 支持 composer ``` composer require zx/php-code-generator ``` ### 关于软删除版本 1,不在单独提供laravel,webman等使用`Eloquent ORM`的框架,因只需要单独在`model`里面添加`use SoftDeletes`即可 2,驼峰命令在orm里面的转换,`composer require kirkbushell/eloquence` ``` 添加 eloquence service provider 在你的 config/app.php 文件中 'providers' => [ /* * Application Service Providers... */ Eloquence\EloquenceServiceProvider::class, ], ``` 实例: ``` 'mysql', 'host' => '127.0.0.1', 'port' => '3306', 'dbname' => 'web', 'charset' => 'utf8', 'user' => 'root', 'pwd' => 'root' ]; MysqlOperation::setConnection($param); /* * laravel生成器,参考项目: https://github.com/zh7314/zx-laravel-cms https://gitee.com/open-php/zx-laravel-cms * $camel true => case camel,true => case snake */ Laravel::genAllTable(); Laravel::genAllRouter(); Laravel::genTable("table_name"); Laravel::genRouter("table_name"); /* * webman 生成器,配合使用项目: https://github.com/zh7314/zx-webman-cms https://gitee.com/open-php/zx-webman-cms * $camel true => case camel,true => case snake */ Webman::genAllTable(); Webman::genAllRouter(); Webman::genTable("table_name"); Webman::genRouter("table_name"); /* * goravel 生成器,配合使用项目: https://github.com/zh7314/zx-goravel-cms https://gitee.com/open-php/zx-goravel-cms * $camel true => case camel,true => case snake */ Goravel::genAllTable(); Goravel::genAllRouter(); Goravel::genTable("table_name"); Goravel::genRouter("table_name"); /* * drogon 生成器,配合使用项目: https://github.com/zh7314/zx-drogon-cms https://gitee.com/open-php/zx-drogon-cms * $camel true => case camel,true => case snake */ Drogon::genAllTable(); Drogon::genAllRouter(); Drogon::genTable("table_name"); Drogon::genRouter("table_name"); /* * laravelzx 定制化生成器 */ LaravelSoftDelZx::genAllTable(); LaravelSoftDelZx::genAllRouter(); LaravelSoftDelZx::genTable("table_name"); LaravelSoftDelZx::genRouter("table_name"); ``` 6, 如果你直接使用默认模板你可能需要一些辅助代码 他们会在`tests/Tools`的`laravel/utils`里面 在`composer.json`里面加上 ``` "autoload": { "files": [ "app/Utils/Function.php" ] } ``` 7, 如果你不喜欢使用一些辅助代码,你可以把返回的代码改成 ``` return response()->json(['code' => 200, 'msg' => '成功']); ``` 这样标准laravel写法 ,代码检查也可以改成 ``` $where['weixin_phone'] = !empty($request->weixin_phone) ? (string)htmlspecialchars(trim($request->weixin_phone), ENT_QUOTES, "UTF-8") : ''; ``` #### 自定义模板 1,继承 `ZX\BaseGenerator` 2,实现抽象方法,参照`XXGenerator` 的方法去实现自己的模板,通用的方法都有提供 #### 问题反馈 QQ群:247823727 博客:https://www.cnblogs.com/zx-admin/ gitee:https://gitee.com/open-php/php-code-generator github:https://github.com/zh7314