Sunteți pe pagina 1din 6

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS


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

PARTE 5: USO DE MODELOS

0. PD: si aún no existe la tabla especificada en el comando anterior, ejecuta php artisan migrate para migrar
los datos a la bdd.

1. Crear un controlador restful


php artisan make:controller UserController --resource

Ubica el nuevo archivo en app\Http\Controllers

2. Edita la función show, aquí utilizaremos el modelo User que por defecto ya trae nuestro proyecto laravel.
public function show($id)
{
//objeto usuario, utilizando el método find por id del modelo User

// retorna un objeto User que representa a un user almacenado en la base de datos

$objUsuario = User::find($id);
return view('usuario.user', compact('objUsuario'));
}

3. Crea la vista en resources/views/usuario/user.blade.php y agrega lo siguiente para leer datos del usuario:
<p>Perfil de {{$objUsuario->name}}</p>
<p> Email: {{$objUsuario->email}} </p>

4. Crea la ruta en routes/web.php


// es una ruta de tipo restful
Route::get('user/{id}', 'UserController@show');
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS
CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES
DESARROLLO DE APLICACIONES WEB

Agrega usuarios a la tabla user de la base de datos y revisa los resultados:


http://localhost/proyectoDAW/public/user/1

PARTE 6: 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\proyectoDAW

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');
}
}

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

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:

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

php artisan crud:generate Habitacion --fields="numero#integer; precio#double; descripcion#text" --view-


path=admin --controller-namespace=Admin --route-group=admin

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

PD: si aún no existe la tabla especificada en el comando anterior, ejecuta php artisan migrate para migrar los datos
a la bdd.

8. Revisa en la estructura de tu Proyecto que se hayan agregado los controladores, modelos y vistas para
Habitacion (deben estar en la carpeta admin).
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS
CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES
DESARROLLO DE APLICACIONES WEB

Ejemplo:

9. Revisa tu archivo de rutas, ahora debes tener una nueva ruta agregada para el controlador de habitación.
Route::resource('admin/habitacion', 'Admin\\HabitacionController');

10. Prueba tus resultados

http://localhost/proyectoDAW/public/admin/habitacion
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS
CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES
DESARROLLO DE APLICACIONES WEB

Debe verse similar a:

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 así:

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">


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

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


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

S-ar putea să vă placă și