首页 > 作文

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

更新时间:2023-04-06 03:49:32 阅读: 评论:0

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

form介绍

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

特点

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

项目主页链接

github:https://github.com/mgckid/f采薇的意思orm

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

安装方法

compor require mgckid/form

快速使用

链式操作创建块表单

<?phprequire __dir__ . '/../src/form.php';form::getinstance()    ->form_method(form独一无二的沙雕网名::form_method_post)    ->form_action('/')    ->input_text('姓名', '', 'name', '法外狂徒张三')    ->radio('性别', '', 'male', ['male' => '男', 'female' => '女'], 'male')    ->checkbox('爱好', '', 'interest', ['ktv' => 'k歌', 'dance' => '跳舞', 'movie' => '看电影', 'run' => '跑步'], 'ktv,run')    ->input_inline_start()    ->input_text('省份', '', 'sheng', '湖北省')    ->input_text('市', '', 'shi', '武汉市')    ->input_text('区', '', 'qu', '武昌区')    ->input_text('街道', '', 'jie', '紫阳路36号')    ->input_inline_end()    ->input_hidden('id', '1')    ->input_text('ur name', '', 'ur', 'admin')    ->input_password('password', '', 'password', '123456')    ->radio('is active', '', 'is_active', [        ['value' => '1', 'name' => 'active'],        ['value' => '0', 'name' => 'unactive']    ], 1)    ->checkbox('ur role', '', 'role', [        ['value' => '1', 'name' => 'boss'],        ['value' => '2', 'name' => 'manager'],        ['value' => '3', 'name' => 'employee'],    ], '1,2')    ->lect('ur department', '', 'department', [        ['value' => '1', 'name' => 'sales'],        ['value' => '2', 'name' => 'hr'],        ['value' => '3', 'name' => 'cured'],    ], 1)    ->form_class(layuiform::form_class_pane)    ->input_submit('确认保存', 'class="layui-btn" lay-submit lay-filter="savebtn"')    //->input_date()    //->editor()    //->form_data()    //->table()    ->create();?>

数组配置创建块表单

<?php  require __dir__ . '/../src/form.php';            $init = array(                0 => array(                    'title' => 'id',                    'name' => 'id',                    'description' => 'id',                    'enum' => array(),                    'type' => 'hidden',                    'widget_type' => '',                ),                1 => array(                    'title' => '用户id',                    'name' => 'ur_id',                    'description' => '用户id',                    'enum' => array(),                    'type' => 'hidden',                    'widget_type' => '',                ),                2 => array(                    'title' => '用户名',                    'name' => 'urname',                    'description' => '用户名',                    'enum' => array(),                    'type' => 'text',                    'widget_type' => '',                ),                3 => array(                    'title' => '真实姓名',                    'name' => 'true_name',                    'description' => '真实姓名',                    'enum' => array(),                    'type' => 'text',                    'widget_type' => '',                ),                4 => array(                    'title' => '密码',                    'name' => 'password',                    'description' => '密码',                    'enum' => array(),                    'type' => 'text',                    'widget_type' => '',                ),                5 => array(                    'title' => '邮箱',                    'name' => 'email',                    'description' => '邮箱',                    'enum' => array(),                    'type' => 'text',                    'widget_type' => '',                ),                6 => array(                    'title' => '是否删除',                    'name' => 'deleted',                    'description' => '是否删除',                    'enum' => array(                        0 => '未删除',                        1 => '已删除',                    ),                    'type' => 'none',                    'widget_type' => '',                ),                7 => array(                    'title' => '创建时间',                    'name' => 'created',                    'description' => '创建时间',                    'enum' => array(),                    'type' => 'none',                    'widget_type' => 'date',                ),                8 => array(                    'title' => '修改时间',                    'name' => 'modified',                    'description' => '修改时间',                    'enum' => array(),                    'type' => 'none',                    'widget_type' => 'date',                ),            );            $data = array(                'id' => 2,                'ur_id' => 'feac0fa3-3245-11e6-9b90-e03f49a02407',                'urname' => 'admin',                'true_name' => '系统管理员',                'email' => '',                'deleted' => 0,                'created' => '2016-06-14 23:39:52',                'modified' => '2020-03-12 20:07:48',            );            \form::getinstance()                ->form_schema($init)                ->form_data($data)                ->input_submit('确认保存', 'class="layui-btn" lay-submit lay-filter="savebtn"')                ->create();

行内表单

<?php  require __dir__ . '/../src/form.php';      $init = array(                0 => array(                    'title' => 'id',                    'name' => 'id',                    'description' => 'id',                    'enum' => array(),                    'type' => 'hidden',                    'widget_type' => '',                ),                1 => array(                    'title' => '用户id',                    'name' => 'ur_id',                    'description' => '用户id',                    'enum' => array(),                    'type' => 'text',                    'widget_type' => '',                ),                2 => array(                    'title' => '用户名',                    'name' => 'urname',                    'description' => '用户名',                    'enum' => array(),                    'type' => 'text',                    'widget_type' => '',                ),                3 => array(                    'title' => '真实姓名',                    'name' => 'true_name',                    'description' => '真实姓名',                    'enum' => array(),         巅峰之路           'type' => 'text',                    'widget_type' => '',                ),                4 => array(                    'title' => '密码',                    'name' => 'password',                    'description' => '密码',                    'enum' => array(),                    'type' => 'text',                    'widget_type' => '',                ),                5 => array(                    'title' => '邮箱',                    'name' => 'email',                    'description' => '邮箱',                    'enum' => array(),                    'type' => 'text',                    'widget_type' => '',                ),                6 => array(                    'title' => '是否删除',                    'name' => 'deleted',                    'description' => '是否删除',                    'enum' => array(                        0 => '未删除',                        1 => '已删除',                    ),                    'type' => 'none',                    'widget_type' => '',                ),                7 => array(                    'title' => '创建时间',                    'name' => 'created',                    'description' => '创建时间',                    'enum' => array(),                    'type' => 'none',                    'widget_type' => 'date',                ),                8 => array(                    'title' => '修改时间',                    'name' => 'modified',                    'description' => '修改时间',                    'enum' => array(),                    'type' => 'none',                    'widget_type' => 'date',                ),            );            \form::getinstance()                ->input_inline_start()                ->form_schema($init)                ->input_submit('<i class="layui-icon"></i> 搜索', ' class="layui-btn layui-btn-primary" lay-submit lay-filter="data-arch-btn"', 'class="layui-btn layui-btn-primary"')                ->input_inline_end()                ->form_class(\layuiform::form_class_pane)                ->form_method(form::form_method_get)                ->create();

table表单

<?phprequire __dir__ . '/../src/form.php';$form_init = array ('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' => '隐藏域','lect' => '下拉','radio' => '单选按钮','text' => '文本','textarea' => '多行文本','file' => '上传','none' => '非表单','editor' => '富文本','checkbox' => '复选框','date' => '日期',),'type' => 'lect','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',),'delet美丽家园图片ed' =>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' => 'te_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','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表单生成工具的资料请关注www.887551.com其它相关文章!

本文发布于:2023-04-06 03:49:30,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/6749f3be4ad70a5eec9268a829a6db4d.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:PHP实现动态表单生成工具详解.doc

本文 PDF 下载地址:PHP实现动态表单生成工具详解.pdf

标签:表单   类型   链式   时间
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图