gerson22 / formap
数据库字段映射库,用于创建动态表单
0.3.0
2017-12-05 07:35 UTC
Requires
- php: >=5.3.3
Requires (Dev)
- fabpot/php-cs-fixer: ~2.0@dev
- phpunit/phpunit: ~4.0
This package is not auto-updated.
Last update: 2024-09-19 16:40:34 UTC
README
数据库字段映射库,用于自动生成表单
需求
1.0.0
php >= 7.0.26
0.3.0
php >= 5.3.3
安装
使用 Composer
$ composer require gerson22/formap
{ "require": { "gerson22/formap": "0.3.0" } }
入门
在根目录创建文件
globals.php
<?php $input = "<input type=\":type\" id=':name' name=':name' class=\"form-control\" placeholder=\":alias\">"; define('LAYOUT_INPUT',$input);//text,number,date,color etc $select = "<selectname=':name' id=':name'> <option val='NULL' selected>Elige una opción</option> </select>"; define('LAYOUT_SELECT',$select); $file = "<input type='file' name=':name'>"; define('LAYOUT_FILE',$file);
.env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=auditoria
DB_USERNAME=root
DB_PASSWORD=
用法
第一种选项
<?php require 'globals.php'; require 'vendor/autoload.php'; use Formap\Form; $tableName = 'users'; /* * @params String $tableName */ $frm = new Form($tableName); /* * @return String */ $frm->all()->toHTML();
第二种选项(使用 Laravel 5.*)
在 public\index.php 中添加语句
require_once __DIR__.'/../globals.php';
<?php namespace App\Http\Controllers; use App\Http\Requests; use Illuminate\Http\Request; use Formap\Form; class UserController extends Controller { /** * Create a new controller instance. * * @return void */ public function __construct() { $this->middleware('auth'); } /** * Show the application dashboard. * * @return \Illuminate\Http\Response */ public function index() { $form = new Form('users'); $except = [ ['name' => 'created_at'], ['name' => 'updated_at'], ['name' => 'activo'] ]; return view('users',['form'=>$form->except($except)->toHTML()]); } }
文档
方法
setId()
- @string
- 设置表单的 id 属性
/* * @return Formap\Form */ $frm->setId("frmUsers")
setMethod()
- @string
- 设置表单的 method 属性
/* * @return Formap\Form */ $frm->setMethod("POST")
setAction()
- @string
- 设置表单的 action 属性
/* * @return Formap\Form */ $frm->setAction("/action.php")
only()
- @array
- 可见的字段
/* * @param Array * @return Formap\Form * 0.3.0 */ $frm->only( array( ['name' => 'cantidad', 'as' => 'Cantidad'], ['name' => 'producto_id', 'as' => 'Producto'] )); ** 1.0.0 $frm->only( ['name' => 'cantidad', 'as' => 'Cantidad'], ['name' => 'producto_id', 'as' => 'Producto'] );
except()
- @array
- 不可见的字段
/* * @param Array * @return Formap\Form * 0.3.0 */ $frm->except( ['name' => 'producto_id'] ); * 1.0.0 $frm->except(['name' => 'producto_id']);
all()
- @void
- 映射所有字段
/* * @return Formap\Form */ $frm->all();
add()
- @array
- 向映射的表格中添加外部字段
/* * @param Array * @return Formap\Form * 0.3.0 */ $frm->add(array( ['name'=>'email','as' => 'Correo electronico', 'icon' => 'envelope'], ['name'=>'password_confirmation','as' => 'Repetir contraseña', 'type' => 'password' , 'icon' => 'lock'] )); * 1.0.0 $frm->add( ['name'=>'email','as' => 'Correo electronico', 'icon' => 'envelope'], ['name'=>'password_confirmation','as' => 'Repetir contraseña', 'type' => 'password' , 'icon' => 'lock'] );
toHTML()
- @void
- 在指定要映射的字段后,将表单转换为 HTML
/* * @return String */ $frm->all()->toHtml();