Está en la página 1de 3

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS


CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES
DESARROLLO DE APLICACIONES WEB

PARTE 5: GENERADORES DE CRUD

En Laravel, existen herramientas que permiten crear de manera automática CRUDs bajo el modelo MVC. Para esta
parte de la práctica se utilizará appzcoder/crud-generator. Puedes encontrar más información en:
https://github.com/appzcoder/crud-generator

1. Instalación
cd C:\xampp\htdocs\practicaLaravel

composer require appzcoder/crud-generator –dev

2. Vamos a agregar un Service Providers a nuestra aplicación.


Los Service Providers son clases que permiten construir o crear instancias de otros objetos que a partir de la versión 5 de Laravel forman
parte esencial de la arquitectura de este framework. Pues en ellos se definen cada uno de los objetos e instancias que serán cargados en
el proyecto, es decir, es donde se registra todo el código requerido para que una aplicación funcione, tanto del framework mismo como
cualquier otro desarrollado por nosotros y que necesitemos utilizar; permitiendo así crear una aplicación de manera más limpia, robusta
y desacopladamente, pues sería como si estuviéramos construyéndola por bloques 1.

Agrega el proveedor en app/Providers/AppServiceProvider.php, para ello coloca el siguiente código dentro de


la función register()
public function register()
{
if ($this->app->environment() == 'local') {
$this->app->register('Appzcoder\CrudGenerator\CrudGeneratorServiceProvider');
}
}

3. Instala el paquete helper laravelcollective/html

composer require laravelcollective/html

4. Agrega el service provider y aliases a config/app.php.

En 'providers':

Collective\Html\HtmlServiceProvider::class,

En 'aliases':
'Form' => Collective\Html\FormFacade::class,
'HTML' => Collective\Html\HtmlFacade::class,

5. Ejecuta

composer dump-autoload

6. Publicar los archivos de proveedores de este paquete

php artisan vendor:publish --provider="Appzcoder\CrudGenerator\CrudGeneratorServiceProvider"

Revisa tus resultados:

1
Obtenido de: https://styde.net/como-funcionan-los-service-providers-en-laravel-5-1/
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS
CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES
DESARROLLO DE APLICACIONES WEB

7. Generar crud, utilizaremos la tabla libro que se creó en la práctica anterior.

php artisan crud:generate Libro --fields="id#integer; titulo#text; precio#double; anioedicion#integer" --view-


path=biblioteca --controller-namespace=biblioteca --route-group=biblioteca

Fíjese que en la línea anterior se pueden indicar los campos de la tabla en la base de datos indicando los tipos de
datos. Puedes revisar los tipos de datos soportados. https://github.com/appzcoder/crud-
generator/blob/master/README.md

8. Revisa en la estructura de tu Proyecto que se hayan agregado los controladores, modelos y vistas para Libro
(deben estar en la carpeta admin).
Agrega aquí tus resultados

9. Revisa tu archivo de rutas, ahora debes tener una nueva ruta agregada para el controlador de libro.
Route::resource('biblioteca/libro', 'biblioteca\\LibroController');

Antes de probar tus resultados verifica en el modelo generado el nombre de la tabla de tu base de datos, es
probable que debas cambiarlo. En app/Libro.php verifica en la siguiente línea de código el nombre correcto de tu
tabla de la base de datos:

protected $table = 'libro';

10. Prueba tus resultados

http://localhost:81/practicaLaravel/public/biblioteca/libro

Agrega aquí tus resultados

Debe verse similar a:


UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS
CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES
DESARROLLO DE APLICACIONES WEB

PD: Si tienes problemas con la interfaz, probablemente se deba a una referencia incorrecta en los archivos css y
js. Si ves tu aplicación similar a esto:

Realiza los siguientes cambios en el archivo: /resources/views/layouts/app.blade.php

De: <link href="css/app.css" rel="stylesheet">

A: <link href="{{ asset('css/app.css') }}" rel="stylesheet">

De: <script src="{{ asset('js/custom.js') }}"></script>


A: <script src="js/custom.js"></script>

También podría gustarte