Download the PHP package chesterlyd/code-generate-tp-vuetify without Composer
On this page you can find all versions of the php package chesterlyd/code-generate-tp-vuetify. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package code-generate-tp-vuetify
代码生成工具(适用于 Vue)
代码生成工具主要用于生成后端开发中简单的增删改查代码,复杂的逻辑还需自己实现,不过你无须担心,我们通过简单的封装简化了开发流程,即便你是新手,也可以写出出色的代码。
工具基于 ThinkPHP 5.1 开发。
此版本前端使用 iview-admin 作为 UI 组件库,配置完善之后会向 yapi 中自动写入文档。
安装
生成工具的开启
项目根目录下运行 php think generate 命令即可;开发期间根目录下生成的 generate.lock 不可删除。
框架说明
框架核心功能为代码生成;主要分为两个大的模块,即前台,后台;目前数据库的操作均为 ThinkPHP 5.0 中的模型方式。
关于性能
为了优化查询性能,默认全部的数据库查询走缓存方式,当然,你也可以在控制器中自己选择是否开启;对此也解决了在执行数据库的增,改,删操作的时候,缓存也会即时刷新,前提是你必须使用 model 的方式。
如何使用
操作之前请先完善数据表,以下全部操作都是基于数据表的字段。
名词解释
- 字段,数据库中的字段名
- 类型,该字段在数据库中的字段类型
- 注释,字段在数据库中的注释
开启生成工具
在项目根目录执行以下命令:
执行完毕后访问项目域名/generate
即可。
配置文件
-
开启生成工具时会在
config/curd.php
生成配置文件,详情查看文件中的注释。如果此文件存在则不会覆盖,请自行检查内容是否完整。如果不使用 iview-admin 可通过更改配置自定义模板。 - 项目根目录下会生成
env.php
文件,此文件不会向 git 中提交,存储本地配置,详细说明如下:
view_root
生成 vue 文件的存放目录,使用绝对路径。api_token
yapi 中此项目的 token,获取方式:登录 yapi 后打开此项目,选择设置/token配置
api_uri
yapi 地址,如http://api.qwangluo.net/
选项说明
此章节针对生成工具界面上的选项进行简单说明
- 业务选择:选择生成前台还是后台代码,前台生成到
\app\app
中,后台生成到\app\admin
中。 无论前台还是后台,模型均生成到\app\common\model
中,因此,可能会提示模型已存在,这是正常的。 - 数据表:根据哪个表的结构来生成。
- 创建:需要生成的内容,如果已有同名文件,则不生成。
- 控制器名称:控制器默认按照表名命名,你可以更改它。
- 模型选项:ThinkPHP 5.0 模型提供的功能,详情请查看 ThinkPHP 5.0 文档。
- 显示名称:生成后台时通过此项配置面包屑、页面标题等信息,生成前台时,通过此项配置文档标题。
- 允许的操作:前台可指定允许的操作。
- 登录访问:前台将根据此选项继承不同的类。
- 名称:例如 form 中的 label 名称,用于:列表页,新增加页,编辑页,验证器字段描述。
- 操作:该字段是否需要进行增,改,查的操作。
- 检索:这个字段是否用于查询,在列表页的顶部展示。
- 业务类型:选择输入方式,用于新增页、编辑页和列表页的搜索。
- 排序:此字段是否参与排序以及排序方式,如果多个字段参与排序,生成后可能需要调整顺序。
- 必填:将根据此内容生成验证器。
- 类型自动转换:ThinkPHP 5.0 模型提供的功能,详情请查看 ThinkPHP 5.0 文档。
关于生成文档
在正确配置env.php
中的内容后,生成前台时如果选择生成控制器,则会同时向 yapi 中写入文档,文档根据生成时配置的允许的操作
名称
操作
必填
等内容进行,文档中已有的接口不会被覆盖,统一生成到临时分类
中,请自行调整分类并检查文档是否正确。
生成内容
数据库相关操作均使用 ThinkPHP 5.0 的模型操作,具体参考 ThinkPHP 5.0 文档
后台
-
在生成的控制器中,会有以下固定属性
-
针对默认操作,定义了以下钩子方法(方法所在命名空间:
\Generate\Traits\Admin\Common
),如有需要,复制到生成的控制器中进行修改即可。-
列表页
-
添加页
-
修改页
- 删除操作
-
前台
-
前台生成的控制器有 get、post、put、delete 四个方法,对应实现了基础的查、增、改、删操作, 如需自定义逻辑,复制
\Generate\Traits\Admin\Common
中的方法到控制器中进行修改。 -
前台生成的控制器,包含以下固定属性:
-
针对默认操作,定义了以下钩子方法(方法所在命名空间:
\Generate\Traits\App\Curd
),如有需要,复制到生成的控制器中进行修改即可。-
列表
-
详情
-
添加
-
修改
- 删除
-
模型
当前版本生成的模型,全部位于\app\common\model
,前后台使用统一的模型类。具体属性含义,请参考模型内注释和 ThinkPHP 5.0 文档。
前台接口
默认提供四个接口,路径一致,通过请求方式和参数进行区分,不影响自定义的方法,详见下方表格:
地址 | 请求方式 | 响应方法 | 备注 |
---|---|---|---|
/app/控制器/index | get | get | 查询。传入 id 时返回详情,字段按照$detailField定义的返回; 否则返回列表,字段按照$indexField 定义的返回。 |
/app/控制器/index | post | post | 新增 |
/app/控制器/index | put | put | 修改 |
/app/控制器/index | delete | delete | 删除 |
数据返回
目前工具封装了统一的返回方法,位于\Generate\Traits\JsonReturn
,提供了以下方法
项目上线
- 务必将根目录下的 generate.lock 文件删除
- 本项目建议在 php7.0 以上的环境中运行,如使用 php5.6,请将 php.ini 中的
always_populate_raw_post_data
值改为-1
参考文档
All versions of code-generate-tp-vuetify with dependencies
ext-json Version *
ext-mbstring Version *
topthink/framework Version 5.1.*
guzzlehttp/guzzle Version ^7.0.1
firebase/php-jwt Version ^5.5
topthink/think-migration Version 2.*