PHP如何编写html表单生成工具
导读:这篇文章主要给大家介绍“PHP如何编写html表单生成工具”的相关知识,下文通过实际案例向大家展示操作过程,内容简单清晰,易于学习,有这方面学习需要的朋友可以参考,希望这篇“PHP如何编写html表单生成工具”文章能对大家有所帮助。...
这篇文章主要给大家介绍“PHP如何编写html表单生成工具”的相关知识,下文通过实际案例向大家展示操作过程,内容简单清晰,易于学习,有这方面学习需要的朋友可以参考,希望这篇“PHP如何编写html表单生成工具”文章能对大家有所帮助。表单包含多种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
快速使用
链式操作创建块表单
?php
require __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('user name', '', 'user', 'admin')
->
input_password('password', '', 'password', '123456')
->
radio('is active', '', 'is_active', [
['value' =>
'1', 'name' =>
'active'],
['value' =>
'0', 'name' =>
'unactive']
], 1)
->
checkbox('user role', '', 'role', [
['value' =>
'1', 'name' =>
'boss'],
['value' =>
'2', 'name' =>
'manager'],
['value' =>
'3', 'name' =>
'employee'],
], '1,2')
->
select('user department', '', 'department', [
['value' =>
'1', 'name' =>
'sales'],
['value' =>
'2', 'name' =>
'hr'],
['value' =>
'3', 'name' =>
'secured'],
], 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' =>
'user_id',
'description' =>
'用户id',
'enum' =>
array(),
'type' =>
'hidden',
'widget_type' =>
'',
),
2 =>
array(
'title' =>
'用户名',
'name' =>
'username',
'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,
'user_id' =>
'feac0fa3-3245-11e6-9b90-e03f49a02407',
'username' =>
'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' =>
'user_id',
'description' =>
'用户id',
'enum' =>
array(),
'type' =>
'text',
'widget_type' =>
'',
),
2 =>
array(
'title' =>
'用户名',
'name' =>
'username',
'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-search-btn"', 'class="layui-btn layui-btn-primary"')
->
input_inline_end()
->
form_class(\layuiform::form_class_pane)
->
form_method(form::form_method_get)
->
create();
table表单
?php
require __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' =>
'隐藏域',
'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',
'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表单生成工具的资料请关注萬仟网其它相关文章!
到此这篇关于“PHP如何编写html表单生成工具”的文章就介绍到这了,感谢各位的阅读,更多相关PHP如何编写html表单生成工具内容,欢迎关注网络资讯频道,小编将为大家输出更多高质量的实用文章!
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: PHP如何编写html表单生成工具
本文地址: https://pptw.com/jishu/652101.html
