, (*1)
Librería para mapeo de campos de la base de datos y generar formularios automáticamente, (*2)
Require
1.0.0
php >= 7.0.26, (*3)
0.3.0
php >= 5.3.3, (*4)
Installation
With Composer
$ composer require gerson22/formap
{
"require": {
"gerson22/formap": "0.3.0"
}
}
Getting Started
Create files on root directory
globals.php, (*5)
<?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, (*6)
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=auditoria
DB_USERNAME=root
DB_PASSWORD=
Usage
First Option, (*7)
<?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();
Second option with Laravel 5.*, (*8)
add statment on public\index.php, (*9)
require_once __DIR__.'/../globals.php';
```php
<?php, (*10)
namespace App\Http\Controllers;, (*11)
use App\Http\Requests;
use Illuminate\Http\Request;
use Formap\Form;, (*12)
class UserController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth');
}, (*13)
/**
* 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()]);
}
}, (*14)
## Documentation
### Methods
setId()
* @string
* Establece el atributo id del formulario
```php
/*
* @return Formap\Form
*/
$frm->setId("frmUsers")
setMethod(), (*15)
- @string
- Establece el atributo method del formulario
/*
* @return Formap\Form
*/
$frm->setMethod("POST")
setAction(), (*16)
- @string
- Establece el atributo action del formulario
/*
* @return Formap\Form
*/
$frm->setAction("/action.php")
only()
* @array
* Campos que serán visibles, (*17)
/*
* @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
* Campos que no serán visible, (*18)
/*
* @param Array
* @return Formap\Form
* 0.3.0
*/
$frm->except(
['name' => 'producto_id']
);
* 1.0.0
$frm->except(['name' => 'producto_id']);
all()
* @void
* Mapea todos los campos, (*19)
/*
* @return Formap\Form
*/
$frm->all();
add()
* @array
* Agrega fields externos a la tabla mapeada, (*20)
/*
* @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
* Después de especificar los campos a mapear convertir el Form en HTML, (*21)
/*
* @return String
*/
$frm->all()->toHtml();