1、查询表结构
2、freach循环判断生成字符串
(1)根据字段名判断
(2)根据字段类型判断
(3)下拉、单选、复选框根据注释截取表单title和选项值
(4)其他类型的表单添加表单title
3、生成的字符串,写入html
**使用效果**
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201219164302467.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbmd6aGFl,size_16,color_FFFFFF,t_70)
**使用下方类库**
```php
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<link href="http://real.jp893.com/css/layout.css" type="text/css" rel="stylesheet">
<link href="http://real.jp893.com/css/real.css" type="text/css" rel="stylesheet">
<link href="http://real.jp893.com/font/icon.css" type="text/css" rel="stylesheet">
<link href="http://real.jp893.com/css/tag.css" type="text/css" rel="stylesheet">
<title>real</title>
</head>
<?php
//
require_once './form.php';
$form=new Form;
// $form
$name="name";
$value="name";
$annotation="你猜";
echo $form->label("文本框", $form->text( $name, $value, $options = ["s"=>"szz","id"=>"id"]));
echo $form->label("开关", $form->switcher( $name, $value, $options = ["s"=>"szz","id"=>"id"]));
echo $form->label("密码框", $form->password( $name, $value, $options = ["s"=>"szz","id"=>"id"]));
echo $form->label("隐藏框", $form->hidden( $name, $value, $options = ["s"=>"szz","id"=>"id"]));
echo $form->label("邮箱框", $form->email( $name, $value, $options = ["s"=>"szz","id"=>"id"]));
echo $form->label("链接框", $form->url( $name, $value, $options = ["s"=>"szz","id"=>"id"]));
echo $form->label("多行文本框", $form->textarea( $name, $value, $options = ["s"=>"szz","id"=>"id"]));
echo $form->label("多行文本框", $form->radio($name, $value = "1=支付宝,2=微信,3=余额", $checked = 2, $options = []));
echo $form->label("多行文本框", $form->checkbox($name, $value = "1=支付宝,2=微信,3=余额", $checked ="2,1", $options = []));
```
**自动生成表单类库,未完成**
```php
<?php
// namespace fast;
/**
* 表单元素生成
* @class Form
* @package fast
* @method string token() static 生成Token
* @method string label(string $name, string $value = null, array $options = []) static label标签
* @method string input($type, $name, string $value = null, array $options = []) static 按类型生成文本框
* @method string text(string $name, string $value = null, array $options = []) static 普通文本框
* @method string password(string $name, array $options = []) static 密码文本框
* @method string hidden(string $name, string $value = null, array $options = []) static 隐藏文本框
* @method string email(string $name, string $value = null, array $options = []) static Email文本框
* @method string url(string $name, string $value = null, array $options = []) static URL文本框
* @method string file(string $name, array $options = []) static 文件上传组件
* @method string textarea(string $name, string $value = null, array $options = []) static 多行文本框
* @method string editor(string $name, string $value = null, array $options = []) static 富文本编辑器
* @method string select(string $name, array $list = [], string $selected = null, array $options = []) static 下拉列表组件
* @method string selects(string $name, array $list = [], string $selected = null, array $options = []) static 下拉列表组件(多选)
* @method string selectpicker(string $name, array $list = [], string $selected = null, array $options = []) static 下拉列表组件(友好)
* @method string selectpickers(string $name, array $list = [], string $selected = null, array $options = []) static 下拉列表组件(友好)(多选)
* @method string selectpage(string $name, string $value, string $url, string $field = null, string $primaryKey = null, array $options = []) static 动态下拉列表组件
* @method string selectpages(string $name, string $value, string $url, string $field = null, string $primaryKey = null, array $options = []) static 动态下拉列表组件(多选)
* @method string citypicker(string $name, string $value, array $options = []) static 城市选择组件
* @method string switcher(string $name, string $value, array $options = []) static 切换组件
* @method string datepicker(string $name, string $value, array $options = []) static 日期选择组件
* @method string timepicker(string $name, string $value, array $options = []) static 时间选择组件
* @method string datetimepicker(string $name, string $value, array $options = []) static 日期时间选择组件
* @method string daterange(string $name, string $value, array $options = []) static 日期区间组件
* @method string timerange(string $name, string $value, array $options = []) static 时间区间组件
* @method string datetimerange(string $name, string $value, array $options = []) static 日期时间区间组件
* @method string fieldlist(string $name, string $value, string $title = null, string $template = null, array $options = []) static 字段列表组件
* @method string cxselect(string $url, array $names = [], array $values = [], array $options = []) static 联动组件
* @method string selectRange(string $name, string $begin, string $end, string $selected = null, array $options = []) static 选择数字区间
* @method string selectYear(string $name, string $begin, string $end, string $selected = null, array $options = []) static 选择年
* @method string selectMonth(string $name, string $selected = null, array $options = [], string $format = '%m') static 选择月
* @method string checkbox(string $name, string $value = '1', string $checked = null, array $options = []) static 单个复选框
* @method string checkboxs(string $name, array $list = [], string $checked = null, array $options = []) static 一组复选框
* @method string radio(string $name, string $value = null, string $checked = null, array $options = [])) static 单个单选框
* @method string radios(string $name, array $list = [], string $checked = null, array $options = [])) static 一组单选框
* @method string image(string $name = null, string $value, array $inputAttr = [], array $uploadAttr = [], array $chooseAttr = [], array $previewAttr = []) static 上传图片组件
* @method string images(string $name = null, string $value, array $inputAttr = [], array $uploadAttr = [], array $chooseAttr = [], array $previewAttr = []) static 上传图片组件(多图))
* @method string upload(string $name = null, string $value, array $inputAttr = [], array $uploadAttr = [], array $chooseAttr = [], array $previewAttr = []) static 上传文件组件
* @method string uploads(string $name = null, string $value, array $inputAttr = [], array $uploadAttr = [], array $chooseAttr = [], array $previewAttr = []) static 上传文件组件(多文件))
* @method string button(string $value = null, array $options = []) static 表单button
*/
/**
*
* 表单元素生成
* @from https://github.com/illuminate/html
* @package fast
*/
class Form
{
//生成form行
public $label_template ='<div class="real-row"> <div class="real-col-4" style="line-height: 34px;"> {annotation} </div> <div class="real-col-20 " > {input}</div> </div>';
//普通文本框
public $text_template = '<input class="real-input real-round" type="text" name="{name}" value="{value}" {options} >';
//密码文本框
public $password_template = '<input class="real-input real-round" type="password" name="{name}" value="{value}" {options} >';
//隐藏文本框
public $hidden_template = '<input type="hidden" name="{name}" value="{value}" {options} >';
//邮箱文本框
public $email_template = '<input class="real-input real-round" type="emal" name="{name}" value="{value}" {options} >';
//链接文本框
public $url_template = '<input class="real-input real-round" type="url" name="{name}" value="{value}" {options} >';
// 生成switch组件 开关
public $switcher_template = '<input class="real-switch real-onoff" type="checkbox" name="{name}" value="{value}" {options} >';
//多行文本框
public $textarea_template = '<textarea class="real-text real-ful" name="{name}" {options} >{value}</textarea>';
//富文本编辑器
public $editor_template = "";
//滑块
public $slider_template = "";
//下拉单选
public $select_template = "";
//下拉多选
public $selects_template = "";
//动态下拉单选
public $selectpage_template = "";
//动态下拉多选
public $selectpages_template = "";
// 生成联动下拉列表
public $cxselect_template = "";
//单选
public $radio_template = '<span class="real-radio real-blue"> <label> <input type="radio" name="{name}" value="{value}" {options} ><em></em> <span>{annotations}</span> </label> </span>';
public $checkbox_template = '<span class="real-checkbox"> <label> <input type="checkbox" name="{name}[]" value="{value}" {options}><em></em> <span>{annotations}</span> </label> </span>';
public $image_template = "";
public $images_template = "";
public $upload_template = "";
public $uploads_template = "";
/**
* 设置是否转义
* 获取转义编码后的值
* 生成Token
*/
/*
* 生成Label标签
*
* @param string $name
* @param string $value
* @param array $options
* @return string
*/
public function label($annotation, $input) {
$str=str_replace('{annotation}',$annotation,$this->label_template);
// var_dump($str,$annotation,$input);die;
$str=str_replace('{input}',$input,$str);
return $str;
}
/**
* 替换模板
*
* @param string $name
* @param string $value
* @param array $options
* @return string
*/
public function template($name, $value, $options = [],$temp) {
//打开这个模板
// $tempdata=fopen("test.html","r");
//读取模板中的内容
// $str=fread($tempdata,filesize("test.html"));
//替换模板中的内容
$str=str_replace('{name}',$name,$temp);
$str=str_replace('{value}',$value,$str);
$stroptions="";
foreach ($options as $key =>$val ) {
$stroptions.= ' '.$key.'="'.$val.'" ';
// code...
}
// var_dump();die;
$str=str_replace('{options}', $stroptions ,$str);
// var_dump($str,$text_template);die;
return $str;
} /**
* 生成普通文本框
*
* @param string $name
* @param string $value
* @param array $options
* @return string
*/
public function text($name, $value = null, $options = []) {
// var_dump($str,$text_template);die;
return $this->template($name, $value, $options = [],$this->text_template);
}
/**
* 生成密码文本框
*
* @param string $name
* @param array $options
* @return string
*/
public function password($name,$value = null, $options = []) {
//替换模板中的内容
return $this->template($name, $value, $options = [],$this->password_template);
}
/**
* 生成隐藏文本框
*
* @param string $name
* @param string $value
* @param array $options
* @return string
*/
public function hidden($name, $value = null, $options = []) {
return $this->template($name, $value, $options = [],$this->hidden_template);
}
/**
* 生成Email文本框
*
* @param string $name
* @param string $value
* @param array $options
* @return string
*/
public function email($name, $value = null, $options = []) {
return $this->template($name, $value, $options = [],$this->email_template);
}
/**
* 生成URL文本框
*
* @param string $name
* @param string $value
* @param array $options
* @return string
*/
public function url($name, $value = null, $options = []) {
return $this->template($name, $value, $options = [],$this->url_template);
}
/**
* 生成switch组件
*
* @param string $name
* @param mixed $value
* @param array $options
* @return string
*/
public function switcher($name, $value, $options = []) {
if ($checked) {
$options['checked'] = 'checked';
}
return $this->template($name, $value, $options = [],$this->switcher_template);
}
/**
* 生成多行文本框
*
* @param string $name
* @param string $value
* @param array $options
* @return string
*/
public function textarea($name, $value = null, $options = []) {
return $this->template($name, $value, $options = [],$this->textarea_template);
}
/**
* 生成富文本编辑器
*
* @param string $name
* @param string $value
* @param array $options
* @return string
*/
public function editor($name, $value = null, $options = []) {}
/**
* 生成滑块
*
* @param string $name
* @param string $min
* @param string $max
* @param string $step
* @param string $value
* @param array $options
* @return string
*/
public function slider($name, $min, $max, $step, $value = null, $options = []) {}
/**
* 生成下拉列表框
*
* @param string $name
* @param array $list
* @param mixed $selected
* @param array $options
* @return string
*/
public function select($name, $list = [], $selected = null, $options = []) {
}
/**
* 下拉列表(多选)
*
* @param string $name
* @param array $list
* @param mixed $selected
* @param array $options
* @return string
*/
public function selects($name, $list = [], $selected = null, $options = []) {}
/**
* 生成动态下拉列表
*
* @param string $name 名称
* @param mixed $value
* @param string $url 数据源地址
* @param string $field 显示的字段名称,默认为name
* @param string $primaryKey 主键,数据库中保存的值,默认为id
* @param array $options
* @return string
*/
public function selectpage($name, $value, $url, $field = null, $primaryKey = null, $options = []) {}
/**
* 生成动态下拉列表(复选)
*
* @param string $name 名称
* @param mixed $value
* @param string $url 数据源地址
* @param string $field 显示的字段名称,默认为name
* @param string $primaryKey 主键,数据库中保存的值,默认为id
* @param array $options
* @return string
*/
public function selectpages($name, $value, $url, $field = null, $primaryKey = null, $options = []) {}
/**
* 生成联动下拉列表
*
* @param string $url 联动获取数据源的URL地址
* @param array $names 联动字段名称
* @param array $values 联动字段默认选中的值
* @param array $options 扩展属性
* @return string
*/
public function cxselect($url, $names = [], $values = [], $options = []) {}
/**
* 日期选择器
* 时间选择器
* 日期时间选择器
* 日期区间
* 时间区间
* 日期时间区间
* 根据传递的值生成option
*/
/**
* 生成复选按钮
*
* @param string $name
* @param mixed $value
* @param bool $checked
* @param array $options
* @return string
*/
public function checkbox($name, $value = null, $checked = null, $options = []) {
$str="";
if ($checked) {
$options['checked'] = 'checked';
}
$values=explode(",",$value);
foreach ($values as $key => $val) {
$exp=explode("=",$val);
// var_dump($checkedz);
if(!empty($checked)){
$checkedz=explode(",",$checked);
if (in_array($exp[0],$checkedz)) {
$options['checked'] = 'checked';
}else{
unset($options['checked'] ) ;
}
}else{
unset($options['checked'] ) ;
}
$radio_template= str_replace('{annotations}', $exp[1] ,$this->checkbox_template);
$str.= $this->template($name, $exp[0], $options ,$radio_template);
}
return $str;
}
/**
* 生成单选按钮
*
* @param string $name
* @param mixed $value
* @param bool $checked
* @param array $options
* @return string
*/
public function radio($name, $value = null, $checked = null, $options = []) {
$str="";
if ($checked) {
$options['checked'] = 'checked';
}
$values=explode(",",$value);
foreach ($values as $key => $val) {
$exp=explode("=",$val);
// echo "a".$checked;
if ($checked==$exp[0]) {
$options['checked'] = 'checked';
}else{
unset($options['checked'] ) ;
}
$radio_template= str_replace('{annotations}', $exp[1] ,$this->radio_template);
$str.= $this->template($name, $exp[0], $options ,$radio_template);
}
return $str;
// radio_template
}
/**
* 生成上传图片组件(单图)
*
* @param string $name
* @param string $value
* @param array $inputAttr
* @param array $uploadAttr
* @param array $chooseAttr
* @param array $previewAttr
* @return string
*/
public function image($name = null, $value, $inputAttr = [], $uploadAttr = [], $chooseAttr = [], $previewAttr = []) {}
/**
* 生成上传图片组件(多图)
*
* @param string $name
* @param string $value
* @param array $inputAttr
* @param array $uploadAttr
* @param array $chooseAttr
* @param array $previewAttr
* @return string
*/
public function images($name = null, $value, $inputAttr = [], $uploadAttr = [], $chooseAttr = [], $previewAttr = []) {}
/**
* 生成上传文件组件(单文件)
*
* @param string $name
* @param string $value
* @param array $inputAttr
* @param array $uploadAttr
* @param array $chooseAttr
* @param array $previewAttr
* @return string
*/
public function upload($name = null, $value, $inputAttr = [], $uploadAttr = [], $chooseAttr = [], $previewAttr = []) {}
/**
* 生成上传文件组件(多文件)
*
* @param string $name
* @param string $value
* @param array $inputAttr
* @param array $uploadAttr
* @param array $chooseAttr
* @param array $previewAttr
* @return string
*/
public function uploads($name = null, $value, $inputAttr = [], $uploadAttr = [], $chooseAttr = [], $previewAttr = []) {}
/**
* 生成一个按钮
*
* @param string $value
* @param array $options
* @return string
*/
public function button($value = null, $options = []) {}
}
```
<br>
---
程序员交流qq群:782974737 [点击加入](https://jq.qq.com/?_wv=1027&k=5eeinSn)
- 服务器购买到搭建宝塔
- 结构规范
- php基础
- php简介
- php是什么
- PHP 能做什么
- PHP 如何运行
- 如何了解弱语言
- 安装环境
- 安装LNMP
- 宝塔
- phpstudy
- PHP基本语法
- PHP 标记
- 从 HTML 中分离
- 指令分隔符
- 注释
- php 数据类型
- 类型检测
- 四种标量类型
- boolean(布尔型)
- Integer 整型
- Float 浮点型
- String 字符串类型
- 两种复合类型
- array(数组)
- object(对象)
- 两种特殊类型
- resource(资源)
- NULL(无类型)
- 类型转换
- 变量
- 变量定义和命名规范
- 传值和引用
- 预定义变量
- php预定义变量
- $_SERVER详解
- 变量范围
- 全局变量
- 静态变量
- 可变变量
- 常量
- 常量简介
- 常量定义
- 相比变量
- 魔术常量
- 运算符
- 运算符简介
- 算术运算符
- 赋值运算符
- 位运算符
- 比较运算符
- 错误控制运算符
- 执行运算符
- 递增(减)运算符
- 逻辑运算符
- 字符串运算符
- 数组运算符
- 新增操作符
- 控制结构
- 控制简介
- if 语句
- while 语句
- for 语句
- foreach 语句
- break 语句
- continue 语句
- switch 语句
- declare 语句
- return 语句
- include 语句
- PHP 函数
- 函数简介
- 用户自定义函数
- 函数的参数
- 返回值
- 可变函数
- 内部函数
- 匿名函数
- PHP 的类和对象
- PHP 的类和对象简介
- 基本概念
- 对象继承
- 属性
- 类常量
- 自动加载对象
- 构造和析构函数
- 访问控制
- 范围解析操作符(::)
- 静态static
- Static 关键字
- 抽象类
- 接口
- 匿名类
- 面向对象其他特性
- const关键字
- final关键字
- abstract用于定义抽象方法和抽象类。
- self、$this、parent::关键字
- 接口(interface)
- trait关键字
- instanceof关键字
- 魔术方法
- 构造函数和析构函数
- 私有属性的设置获取
- __toString()方法
- __clone()方法
- __call()方法
- 类的自动加载
- 会话控制
- cookie
- PHP 操作 cookie
- 项目实战
- SESSION
- Session 的初步介绍与实验准备
- PHP 操作 session
- 项目实战2
- http
- 特点
- 工作过程
- request
- response
- HTTP状态码
- URL
- GET和POST的区别
- HTTPS
- 常用函数
- 常用的字符串函数
- 常用的数组函数
- 常用文件函数
- 常用时间函数
- 常用日历函数
- 常用url函数
- 面试题常见
- 时间戳
- 技术类文档
- 技术开发文档
- 开发环境
- 开发规范
- 注释规范
- 开发目录结构
- 数据库字典
- 路由
- 定时任务
- 获取系统配置
- 系统常用函数
- 后台表单
- 消息队列
- 第三方类库标注
- 需求文档
- 数据库
- MYSQL
- 事务(重点)
- 索引
- 存储过程
- 触发器
- 视图
- 导入导出数据库
- 优化mysql数据库的方法
- MyISAM与InnoDB区别
- 外连接、内连接的区别
- 物理文件结构
- MongoDB
- Redis
- 运用场景和实例
- pgsql
- 服务器
- Nginx
- 正向代理和反向代理
- 负载均衡
- Linux常用命令
- 基本目录和命令
- php开发工具
- phpStorm编辑器
- 安装和汉化
- 链接ftp
- 常用操作
- 常用快捷键
- 自定义快捷键
- 使用快捷键新建目录和文件
- 使用快捷键快速查找文件、类、方法
- 多文件切换
- 快速搜索设置项
- 多点编辑
- 方法重构
- 自定义文件模板和代码片段
- 自定义文件模板
- 自定义代码片段
- Xdebug 调试插件
- 安装Xdebug 调试插件
- 在PHPStorm 中使用 Xdebug 插件调试代码
- Vi Box虚拟机
- Vi Box 虚拟机 Oracle VM VirtualBox
- 虚拟机辅助工具一-Vagrant
- 华硕主板BIOS设置中VT虚拟化技术选项怎么开启 Oracle VM VirtualBox
- 沟通工具
- 文档分享
- 流程图
- 任务分配
- 代码托管
- 缺陷管理
- 设计图
- gitLab
- 安装
- 汉化
- Gitlab 用户和项目管理
- Gitlab 持续集成与自动构建实践
- PHP进阶
- 大流量解决方案
- PSR规范
- RESTFUL规范
- 设计模式
- 单例模式
- 策略模式
- 工厂模式
- 简单工厂模式
- 工厂方法模式
- 抽象工厂模式
- 外观模式
- 享元模式
- 代理模式
- 命令模式
- 中介者模式
- 观察者模式
- 状态模式
- 建筑者模式
- 适配器模式
- 桥接模式
- 装饰器模式
- 排序算法
- 冒泡排序算法
- 二分查找算法
- 直接插入排序算法
- 希尔排序算法
- 选择排序算法
- 快速排序算法
- 常见网络攻击类型
- CSRF攻击
- XSS攻击
- SQL注入
- Cookie攻击
- thinkphp
- thinkphp5命令行
- git
- Git 常用命令操作和基础学习
- 傻瓜与白痴的笔记本
- 学习
- 一、Git 与 GitHub 的来历
- 二、在 GitHub 上创建仓库
- 三、安装
- Windows 上安装 Git
- 安装2
- 四、克隆 GitHub 上的仓库到本地
- 五、GIT基本操作哦
- 六、Git 分支操作
- 一、添加SSH关联授权
- 二、为 Git 命令设置别名
- 三、Git 分支管理
- 七、多人协作 GitHub 部分
- 八、多人协作 Git 部分
- 九、Git tag 和 GitHub releases
- composer
- Composer 基础使用
- 安装和使用
- 在项目中集成PHPmailer
- 认识composer.json和composer.lock文件
- composer的其他命令操作
- 本地创建composer包
- 提交自己的依赖包到composer Packagist
- crontab计划任务
- Linux任务计划crontab
- php 的 计划任务——Crontab
- bootstrap前端框架
- 入门
- 实战技巧
- 后台模板样式——admin
- 第三方接口对接
- 微信
- 敏感词过滤
- 微信图片检测
- 短信类型
- 阿里云短信
- 容联云短信
- 飞鸽短信
- 媒体
- 新闻接口测试
- 免费新闻
- 免费视频
- nba赛事,未测试
- 豆瓣电影接口
- 音乐接口
- 网易短视频接口
- 知乎微信接口
- 百度ai
- 百度语音
- 图片识别
- 腾讯
- 腾讯im
- 腾讯云直播
- 腾讯滑动验证
- 物流快递
- 快递鸟、快递100
- 推送
- 极光推送
- 地图&天气
- 获取城市和天气预报
- 地址获取和定位
- 地址转换经纬度
- 图片类型
- 360新闻图片
- 多平台翻译
- 实名认证
- 七牛云
- 云合同
- 多站点收录查询接口
- 打印机
- 第三方登录
- 微信登录
- 支付
- 支付宝app支付
- 微信提现+退款
- 微信app支付
- 微信支付公式
- 类库
- 图片类
- phpqrcode实战:生成二维码
- 图片处理类
- 验证码类
- 消息类
- PHPMailer
- 分词类
- ik
- PHPAnalysis
- 自己封装的方法
- GD库
- 自动获取图片主题颜色
- 图片转素描
- 生成海报
- 图片转字符
- 验证码
- 图片转黑白灰
- GD库实现图片水印与缩略图
- Imagick扩展
- 将一张image图片转化为字符串的形式
- 基本方法
- 图片路径转base64
- 生成文件后缀图片
- url路径判断拼接
- 防篡改入口文件
- php中文姓名判断
- 可控抽奖
- 特殊截取
- 银行卡位(特殊卡号不支持)
- 微信红包计算
- 数组和对象互转
- php批量更新修改数据库
- base64_img上传
- 删库删目录————跑路
- 字符串特殊符号过滤
- 首字母转成默认头像
- 生成随机字符串
- 根据id转 邀请码
- 日志写入
- 字符串截取,超出显示省略号
- 清除html标签+清除html标签,字符串截取
- 计算时间差的函数和演示
- php判断路径是否是绝对路径,如果不是拼接至绝对路径
- sql 参数过滤
- php敏感词过滤
- 省市区分别截取
- 生成csv
- 无限极分类
- api接口返回封装的方法函数
- xml和数组互转
- 获取thinkph5下控制器和方法名
- 过滤
- 获取服务器信息
- php随机颜色
- 创建多级目录
- 推广码
- 跨域检测
- 二维码
- 文档类
- word
- PHPWord
- tcPdf
- MPDF
- dompdf
- FPDF、Fpdi类库
- excel
- PhpSpreadsheet导入
- phpExcel
- 时间
- PHP-农历+节气+节日等类库
- 时间类库
- 最好用的是人性化时间差
- 文件管理类
- 文件操作类
- 文件夹操作
- php操作ftp的类库
- curl
- 数据库操作类
- Db扩展函数
- 数据库备份
- 仿tp5的Db库
- 不常用mysql
- 自动生成数据库字典
- 字符串
- 字符串操作helper/Str
- 随机生成姓名
- 随机生成类
- php字符串类
- 中文转拼音的类库
- 分类
- 缓存
- 数据验证
- 身份证相关操作
- 安全类
- 表单生成类
- 自动生成表单,未完待续中