PHP实现动态表单生成工具详解

2022-04-17 13:52:41
目录
Form介绍特点项目主页链接安装方法快速使用链式操作创建块表单数组配置创建块表单行内表单table表单

表单包含多种input类型,包括 hiiden类型 ,text类型,radio类型,checkbox类型,textarea类型,file类型,select类型等基础类型,手写表单就是累耗时耗力开发销量太低而且代码量大了还容易写出bug,每个页面的表单遇到改动的时候恨不得长十双手去改,于是我自己开发了一个php写的表单生成工具,在业务逻辑通过配置或者链式操作去初始表单结构和数据,不管有多少页面都只需要通过配置下就行,我写的这个表单工具 支持块表单,行内表单,table类型表单,支持表单美化 默认是layui效果,也支持jquery控制表单行为,只需要引入layui样式和js即可。在github主页demo目录也提供了示例代码运行查看效果,

Form介绍

使用php编写的html表单生成工具,没有任何依赖可独立使用,支持链式操作和配置创建表单,支持表单美化(默认为layui风格)

特点

没有任何依赖可独立使用支持链式操作创建表单支持数组配置创建表单支持块表单支持行内表单支持table表单支持表单美化(默认为layui风格)且方便扩展

项目主页链接

github: https://github.com/mgckid/form

gitee:https://gitee.com/mgckid/form

安装方法

composer require mgckid/form

快速使用

链式操作创建块表单

'id' =>array ( 'title' => '主键', 'name' => 'id', 'description' => '主键', 'enum' =>array(), 'type' => 'hidden', 'widget_type' => '', ), 'name' =>array ( 'title' => '配置名称', 'name' => 'name', 'description' => '配置名称', 'enum' =>array(), 'type' => 'text', 'widget_type' => '', ), 'description' =>array ( 'title' => '配置描述', 'name' => 'description', 'description' => '配置描述', 'enum' =>array(), 'type' => 'text', 'widget_type' => '', ), 'input_type' =>array ( 'title' => '表单类型', 'name' => 'input_type', 'description' => '表单类型', 'enum' =>array ( 'hidden' => '隐藏域', 'select' => '下拉', 'radio' => '单选按钮', 'text' => '文本', 'textarea' => '多行文本', 'file' => '上传', 'none' => '非表单', 'editor' => '富文本', 'checkbox' => '复选框', 'date' => '日期', ), 'type' => 'select', 'widget_type' => '', ), 'created' =>array ( 'title' => '创建时间', 'name' => 'created', 'description' => '创建时间', 'enum' =>array(), 'type' => 'none', 'widget_type' => 'date', ), 'modified' =>array ( 'title' => '修改时间', 'name' => 'modified', 'description' => '修改时间', 'enum' =>array(), 'type' => 'none', 'widget_type' => 'date', ), 'deleted' =>array ( 'title' => '删除标记', 'name' => 'deleted', 'description' => '删除标记', 'enum' =>array ( 0 => '未删除', 1 => '已删除', ), 'type' => 'none', 'widget_type' => '', ), ); $form_data=array ( 0 => array ( 'id' => 73, 'name' => 'solution_introduction', 'value' => '111', 'description' => '解决方案介绍', 'input_type' => 'textarea', 'created' => '2018-12-07 11:44:40', 'modified' => '2022-03-08 00:32:08', 'deleted' => 0, ), 1 => array ( 'id' => 72, 'name' => 'tese_product_introduction', 'value' => '222', 'description' => '特色产品介绍', 'input_type' => 'textarea', 'created' => '2018-12-07 11:43:52', 'modified' => '2022-03-08 00:32:09', 'deleted' => 0, ), 2 => array ( 'id' => 71, 'name' => 'new_product_introduction', 'value' => '333', 'description' => '新产品介绍', 'input_type' => 'textarea', 'created' => '2018-12-07 11:41:37', 'modified' => '2022-03-08 00:32:09', 'deleted' => 0, ), 3 => array ( 'id' => 70, 'name' => 'site_pinterest', 'value' => '', 'description' => 'Pinterest堪称图片版的Twitter链接', 'input_type' => 'text', 'created' => '2018-11-19 11:48:12', 'modified' => '2019-04-27 14:08:07', 'deleted' => 0, ), 4 => array ( 'id' => 69, 'name' => 'site_twitter', 'value' => '', 'description' => 'Twitter(非官方汉语通称推特)链接', 'input_type' => 'text', 'created' => '2018-11-19 11:47:04', 'modified' => '2019-04-27 14:08:07', 'deleted' => 0, ), 5 => array ( 'id' => 68, 'name' => 'site_facebook', 'value' => '', 'description' => 'Facebook(脸书)链接', 'input_type' => 'text', 'created' => '2018-11-19 11:46:07', 'modified' => '2019-04-27 14:08:07', 'deleted' => 0, ), 6 => array ( 'id' => 67, 'name' => 'site_google_plus', 'value' => '', 'description' => 'Google+SNS社交网站链接', 'input_type' => 'text', 'created' => '2018-11-19 11:45:26', 'modified' => '2019-04-27 14:08:07', 'deleted' => 0, ), 7 => array ( 'id' => 66, 'name' => 'site_linkedin', 'value' => '', 'description' => 'LinkedIn领英链接', 'input_type' => 'text', 'created' => '2018-11-19 11:43:53', 'modified' => '2019-04-27 14:08:07', 'deleted' => 0, ), 8 => array ( 'id' => 65, 'name' => 'site_livechat_code', 'value' => '', 'description' => 'livezilla在线客服代码', 'input_type' => 'textarea', 'created' => '2018-11-15 16:45:15', 'modified' => '2019-04-27 14:08:07', 'deleted' => 0, ), 9 => array ( 'id' => 64, 'name' => 'site_skype', www.easck.com 'value' => '', 'description' => '联系skype', 'input_type' => 'text', 'created' => '2018-11-15 16:44:40', 'modified' => '2019-04-27 14:08:07', 'deleted' => 0, ) ); Form::getInstance() ->table('扩展配置', '', 'site_config', $form_init, $form_data) ->create();

以上就是PHP实现动态表单生成工具详解的详细内容,更多关于PHP表单生成工具的资料请关注我们其它相关文章!

相关文章 大家在看