php5from表单,u170352/tp5-form-builder: THINKPHP5 表单自动构建组件 - Gitinn

// +----------------------------------------------------------------------

// | tp5-form-builder[请基于ThinkPHP5使用]

// +----------------------------------------------------------------------

// | Copyright (c) 2016-2019 http://www.lwwan.com

// +----------------------------------------------------------------------

// | Author 似水星辰 [ 2630481389@qq.com ]

// +----------------------------------------------------------------------

// | 星辰工作室 QQ群331378225

// +----------------------------------------------------------------------

namespace app\admin\controller;

use think\Controller;

use app\admin\model\Config as ConfigModel;

/**

* 控制器

* @package app\admin\controller

*/

class Config extends Controller

{

/**

* 新增表单项

* @author 似水星辰 [ 2630481389@qq.com ]

* @return mixed

*/

public function add()

{

$fields = [

[

'type' => 'radio',

'name' => 'group',

'title' => '配置分组',

'extra' => config('config_group'),

'value' => $group,

],

[

'type' => 'select',

'name' => 'type',

'title' => '配置类型',

'tips' => '',

'extra' => config('form_item_type')

],

[

'type' => 'text',

'name' => 'title',

'title' => '配置标题',

'attr' => 'data-rule="required;" data-msg-required="标题不能为空,可以使用中文或者英文"'

],

[

'type' => 'text',

'name' => 'name',

'title' => '配置标识',

'attr' => 'data-rule="required;name;" data-rule-name="[/^[a-zA-Z][a-zA-Z0-9_]*$/, \'请输入正确的配置标识,只能使用英文和下划线,必须以英文字母开头\']" data-msg-required="配置标识不能为空"'

],

['type' => 'textarea', 'name' => 'value', 'title' => '配置值'],

['type' => 'textarea', 'name' => 'extra', 'title' => '配置项', 'tips' => '用于单选、多选、下拉、联动等类型'],

['type' => 'textarea', 'name' => 'tips', 'title' => '配置说明'],

['type' => 'radio', 'name' => 'status', 'title' => '状态', '', 'extra' => ['禁用', '启用'], 'value' => 1]

];

$this->assign('page_title', '新增管理员');

$this->assign('form_items', $fields);

return $this->fetch('public/add');

}

/**

* 编辑表单项

* @param int $id

* @author 似水星辰 [ 2630481389@qq.com ]

* @return mixed

*/

public function edit($id = 0)

{

if ($id === 0) $this->error('参数错误');

// 获取数据

$info = ConfigModel::get($id);

$fields = [

['type' => 'hidden', 'name' => 'id',],

['type' => 'radio', 'name' => 'group', 'title' => '配置分组', 'extra' => config('config_group'), 'value' => $group,],

['type' => 'select', 'name' => 'type', 'title' => '配置类型', 'extra' => config('form_item_type')],

[

'type' => 'text',

'name' => 'title',

'title' => '配置标题',

'attr' => 'data-rule="required;" data-msg-required="标题不能为空,可以使用中文或者英文"'],

[

'type' => 'text',

'name' => 'name',

'title' => '配置标识',

'attr' => 'data-rule="required;name;" data-rule-name="[/^[a-zA-Z][a-zA-Z0-9_]*$/, \'请输入正确的配置标识,只能使用英文和下划线,必须以英文字母开头\']" data-msg-required="配置标识不能为空"'

],

['type' => 'textarea', 'name' => 'value', 'title' => '配置值'],

['type' => 'textarea', 'name' => 'extra', 'title' => '配置项', 'tips' => '用于单选、多选、下拉、联动等类型'],

['type' => 'textarea', 'name' => 'tips', 'title' => '配置说明'],

['type' => 'radio', 'name' => 'status', 'title' => '状态', '', 'extra' => ['禁用', '启用'], 'value' => 1]

];

$this->assign('page_title', '编辑配置');

$this->assign('form_items', $this->setData($fields, $info));

return $this->fetch('public/edit');

}

/**

* 设置表单数据

* @param array $fields 字段组

* @param array $info 字段值组

* @author 似水星辰 [ 2630481389@qq.com ]

* @return mixed

*/

public function setData($fields = [], $info =[]){

if(is_array($fields)){

foreach($fields as &$v){

if($v['type'] != 'sort'){

if($v['type'] == 'password'){

$v['value'] = '';

}else if($v['type'] == 'attr'){

$v['value'] = htmlspecialchars_decode($info[$v['name']]);

}else{

$v['value'] = $info[$v['name']];

}

}

}

}

return $fields;

}

}

支持MySQL 和 sqlite数据库,快速构建项目原型,直接生成前后台CRUD代码片段,还可根据需要自行定制代码模板,减少重复劳动。 写这个东西的原因是因为我最近沮丧的发现很多时候我都在做重复的事情,比如重复写最简单的CRUD方法,编写表单,写前台样式表等等。 2014年9月27日23:53:38更新:升级至0.3版,此次变化较大,放弃了单文件的形式,但是功能更加丰富,支持直接生成文件,快速构建项目原型 ThinkphpHelper ============== 支持MySQL 和 sqlite数据库,快速构建项目原型,直接生成前后台CRUD代码片段,还可根据需要自行定制代码模板,减少重复劳动。 写这个东西的原因是因为我最近沮丧的发现很多时候我都在做重复的事情,比如重复写最简单的CRUD方法,编写表单,写前台样式表等等。 Thinkphp对于后台操作的支持已经非常强大,再加上最近非常流行的Bootstrap框架让前台样式也变得容易遵循一个标准,于是我决定开始写一个属于自己的代码生成器。 我希望它操作足够简单,让人一看就懂,对MySql和Sqlite数据库都能够稳定生成CRUD代码就好,还如果还能顺便生成一些符合Bootstrap框架的View代码就更好啦。 ThinkphpHelper诞生至今多谢大家的支持。在这个版本中我放弃了单文件的形式,以便实现更多想法。你可以看到现在界面更漂亮了,功能也更强大了。这个版本最大的亮点就是支持直接生成文件,除了数据库外,你只需要写3行左右的代码就可以快速构建出一个原型系统。我建议你可以根据你的需要自行修改Template文件夹下的模板,使之更符合你的项目需求。 测试中我使用的是Sqlite数据库,复制数据库文件到项目目录下,如使用Mysql数据库可以省略此步骤。 将TPH文件夹复制到项目目录下。 修改项目配置文件,主要是配置数据库信息。 访问一下TPH,应该看到以上界面 点击“生成模块选项”选择好目标模块,把需要生成的表名打上勾,点击生成。成功后,会有提示生成路径。此步骤主要是为了生成布局文件。 点击“生成CRUD代码”,注意选择和上一步相同的数据表,点击生成文件。 修改Index控制器下的index方法内容为:$this->show();如图 再次访问你的项目,have fun. 注意,在使用之前一定要准备好你的数据库以及数据库里的数据表,并且配置好你的模块,不过聪明的你一定知道它是怎么用的对吧? 支持Thinkphp3.2.2 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 项目地址:https://github.com/zhuanqianfish/ThinkphpHelper 详细使用说明地址:http://zhuanqianfish.github.io/ThinkphpHelper ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ ThinkphpHelper遵循Apache2开源协议发布,并提供免费使用。 标签:Web框架
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值