Escrud permite renderizar una interfaz con funcionalidad para crear, consultar, editar y eliminar registros de una tabla en la base de datos por medio de métodos escritos en español.
A continuación, se muestra un listado de los 17 métodos disponibles en la herramienta Escrud para renderizar una tabla.
Método | Descripción |
---|---|
accesores() | Establece las modificaciones de datos por medio de funciones anónimas (closure) después de su obtención. |
acciones() | Establece las acciones que serán gestionadas. |
actualizables() | Establece los campos que podrán ser actualizados. |
actualizadoEn() | Establece el nombre del campo donde se registra el tiempo de la actualización del registro. |
alias() | Establece los alias para cada campo que se mostrarán en la renderización de la tabla. |
buscables() | Establece los campos que podrán ser buscados. |
conexion() | Establece la conexión según el nombre definido. |
creadoEn() | Establece el nombre del campo donde se registra el tiempo de la creación del registro. |
insertables() | Establece los campos que podrán ser insertados. |
llavePrimaria() | Establece la llave primaria referente a la tabla especificada. |
mutadores() | Establece las modificaciones de datos por medio de funciones anónimas (closure) antes de su inserción. |
noBuscables() | Establece los campos que no podrán ser buscados. |
renderizar() | Renderiza la tabla especificada con su respectiva configuración. |
ocultos() | Establece los campos que no se mostrarán en la renderización de la tabla. |
tabla() | Crea una instancia de la clase HTML con el nombre de la tabla. |
titulo() | Establece el título de la tabla. |
visibles() | Establece los campos que se mostrarán en la renderización de la tabla. |
La clase Escrud, proporciona constantes que permiten obtener información de la herramienta Escrud.
A continuación, se muestra un listado de las 2 constantes disponibles en la clase Escrud.
Constante | Descripción |
---|---|
Escrud::AUTOR | Indica el autor de la herramienta Escrud. |
Escrud::VERSION | Indica la versión actual de la herramienta Escrud. |
Para renderizar una tabla de la base de datos lo hacemos de la siguiente manera.
<?php
Escrud::tabla('usuarios')->renderizar();
Para seleccionar una de las conexiones definidas en la inicialización de la configuración, lo hacemos de la siguiente manera.
<?php
Escrud::conexion('mysql')
->tabla('usuarios')
->renderizar();
Para identificar cada registro, Escrud por defecto, determina que la llave primaria de nuestra tabla es id. En caso de que nuestra tabla no siga esta convención, podemos definir nuestra llave primaria de la siguiente manera.
<?php
Escrud::tabla('usuarios')
->llavePrimaria('codigo')
->renderizar();
El método visibles, nos permite definir en una lista blanca los campos que se mostrarán en la renderización de la tabla.
<?php
Escrud::tabla('usuarios')
->visibles('nombres', 'apellidos')
->renderizar();
A diferencia del método visibles, podemos definir en una lista negra por medio del método ocultos los campos que no deseamos que se muestren en la renderización de la tabla.
<?php
Escrud::tabla('usuarios')
->ocultos('contrasena')
->renderizar();
Podemos definir los campos que podrán ser insertados por medio del método insertables.
<?php
Escrud::tabla('usuarios')
->insertables('nombres', 'apellidos', 'documento')
->renderizar();
Podemos definir los campos que podrán ser actualizados por medio del método actualizables.
<?php
Escrud::tabla('usuarios')
->actualizables('nombres', 'apellidos', 'documento')
->renderizar();
Podemos definir los campos en los cuales se podrá realizar una búsqueda por medio del método buscables.
<?php
Escrud::tabla('usuarios')
->buscables('nombres', 'apellidos', 'documento')
->renderizar();
También, podemos definir los campos en los cuales no se podrá realizar una búsqueda por medio del método noBuscables.
<?php
Escrud::tabla('usuarios')
->noBuscables('nombres')
->renderizar();
El método alias, nos permite definir un nombre personalizado para los campos en la renderización de la tabla.
<?php
Escrud::tabla('usuarios')
->alias(
[
'nombres' => 'Nombres',
'apellidos' => 'Apellidos',
'telefono' => 'Teléfono'
]
)->renderizar();
Escrud por defecto determina que los campos del registro del tiempo son creado_en y actualizado_en. En caso de que nuestra tabla no siga esta convención, podemos definir nuestros campos del registro del tiempo de la siguiente manera.
<?php
Escrud::tabla('usuarios')
->creadoEn('fecha_creacion')
->actualizadoEn('fecha_actualizacion')
->renderizar();
Podemos ordenar los registros en la renderización de la tabla por medio del método ordenarPor.
<?php
Escrud::tabla('usuarios')
->ordenarPor('id', 'desc')
->renderizar();
Escrud::tabla('usuarios')
->ordenarPor(['nombres', 'apellidos'], 'desc')
->renderizar();
El método acciones, permite activar o inactivar las gestiones de creación, edición o eliminación de registros. Todas las acciones están activas de forma predeterminada.
<?php
Escrud::tabla('usuarios')
->acciones(
[
'acciones' => true, // Activa o inactiva todas las acciones de la tabla.
'crear' => true, // Activa o inactiva la creación de registros.
'editar' => true, // Activa o inactiva la edición de registros.
'eliminar' => true // Activa o inactiva la eliminación de registros.
]
)->renderizar();
Podemos establecer un título para nuestra tabla por medio del método titulo. El nombre de la tabla se muestra como título de forma predeterminada.
<?php
Escrud::tabla('usuarios')
->titulo('Lista de usuarios')
->renderizar();
El método mutadores, establece las modificaciones personalizadas de datos para cada campo de la tabla antes de su inserción en la base de datos, esto es posible por medio de funciones anónimas (closure).
<?php
Escrud::tabla('usuarios')
->mutadores(
[
'nombres' => function ($valor) {
return strtoupper($valor);
}
]
)->renderizar();
El método accesores, establece las modificaciones personalizadas de datos para cada campo de la tabla después de su obtención en la base de datos, esto es posible por medio de funciones anónimas (closure).
<?php
Escrud::tabla('usuarios')
->accesores(
[
'creado_en' => function ($valor) {
$dateTime = new DateTime($valor);
return $dateTime->format('Y-m-d H:i:s');
}
]
)->renderizar();
Escrud lanza dos tipos de excepciones, Escrud y Exception, las cuales podemos manejar de la siguiente manera.
<?php
use Exception;
use Escrud\Clases\Excepciones\Escrud as EscrudExcepcion;
try {
// Todo tu código aquí.
} catch (EscrudExcepcion $excepcion) {
// Todo tu código aquí.
} catch (Exception $excepcion) {
// Todo tu código aquí.
}