Está en la página 1de 45

TECNOLÓGICO

SUDAMERICANO

GUÍA DE ESTUDIO PARA


DESARROLLO DE
APLICACIONES WEB

DESARROLLADA POR:
ING. IGNACIO ALBÁN IDROVO

Fecha: 14/07/2020
Contenido
CAPITULO 1 ......................................................................................................................... 1
Introducción al modelo de programación MVC. ............................................................... 1
CAPITULO 2 ......................................................................................................................... 5
Utilizando Laravel como Framework de desarrollo .......................................................... 5
CAPITULO 3 ....................................................................................................................... 11
Directorios y archivos principales de Laravel y Artisan .................................................. 11
CAPITULO 4 ....................................................................................................................... 15
Iniciando la creación del proyecto ................................................................................... 15
CAPITULO 5 ....................................................................................................................... 21
Creando Controladores .................................................................................................... 21
CAPITULO 6 ....................................................................................................................... 27
RUTEADORES .................................................................................................................... 27
CAPITULO 7 ....................................................................................................................... 30
TRABAJANDO CON FORMULARIOS ................................................................................. 30
CAPITULO 8 ....................................................................................................................... 35
TRABAJANDO CON MODELOS ......................................................................................... 35
Descripción de los Talleres ............................................................................................... 43
Ing. Ignacio Albán Idrovo Introducción al modelo de programación MVC

CAPITULO 1

Introducción al modelo de programación MVC.


Antes de entrar en la materia concerniente a lo que es MVC, es necesario entender
ciertos conceptos, los cuales se exponen a continuación.

Desarrollo de aplicaciones web


En la actualidad los conocimientos que se debe tener para la realización de una
aplicación web independientemente del lenguaje de programación con el cual se
decida trabajar son:

 HTML
 Bootstrap
 JQuery
 CSS
 Un lenguaje de programación sea éste: Java, PHP, C#, Python, entre otros.
 Manejo y desarrollo en una base de datos, sea ésta: MySql, Sql Server,
Oracle, Postgres, Informix, entre otra.

Clasificación de las aplicaciones web.


Se puede clasificar las aplicaciones en diversas formas, pero a continuación se
presentan tres: Por la visibilidad del código, Por la variación de su contenido y
Por su contenido.

• No se compila, se
interpreta
Abierto • El código es visible y
puede ser modificado.

• Debe ser compilado


• El código no es visible, y
Cerrado no puede ser modificador
de manera directa.

Figura 1: Clasificación acorde con la visibilidad del código.


Ing. Ignacio Albán Idrovo Introducción al modelo de programación MVC

• Su contenido no cambia durante la


ejecución.
Estática • No se necesita de conocimientos
de programación para su
realización.

• El contenido cambia durante la


ejecución.
Dinámica • Se necesita conocimientos de
programación para realizarla.
• El precio de creación es más alto.

Figura 2: Clasificación de acuerdo con la variación de su contenido

Portal
Puede contener diversas
Su contenido puede cambiar Se adapta a cualquier subaplicaciones como correo
durante la ejecución. dispositivo. electrónico, buscador, foros,
entre otros.

Tienda virtual
Inclue un panel de gestión para
Su contenido está orientado a la Permite pagos con tarjetas de
los productos, un ejemplo es
venta de productos y/o servicios. crédito, paypalm, entre otros.
Amazon.

Gestor de contenido
Permite la actualización de su contenido de forma
Ejemplo de ésto es Wordpress, Joomla o Drupal
dinámica y contínua.

Figura 3: Clasificación por su contenido


Ing. Ignacio Albán Idrovo Introducción al modelo de programación MVC

¿Qué es MVC?
Es un paradigma o modelo de desarrollo de aplicaciones, ha sido usado hace
muchos años, es decir no es nada nuevo, fue introducido en el desarrollo de
aplicaciones por Trygve Reenskaug en Smalltalk, cuando trabajó en Xerox en los
años 70, pero fue en 1988 cuando ya forma parte de un proyecto o artículo en
concreto.

A partir de 2000, ya aparece el MVC como se lo conoce en la actualidad, puesto


que el Controlador aparece como un intermediario entre la vista y el modelo. Este
concepto ha ido evolucionando de forma tal que dio paso a nuevas tendencias.

HMVC MVP
MVC
MVA MVVM
Figura 4: Tendencias de desarrollo surgidas a partir del MVC.

Funcionamiento del MVC.


El usuario o cliente debe realizar una solicitud o Request (la cual en web puede
ser http o https), la cual será receptada por la página inicial (dependiendo del
lenguaje de programación esto puede variar, ejemplo en PHP es index.php), dicho
Request será enrutado hacia el controlador, quien dependiendo de su
programación puede o no acceder a un modelo, y dependiendo de la respuesta
puede o no retornar una vista (HTML) o un código en formato JSON o XML.

index.php
Request vía POST o
GET Controller

View Model

Response en formato:
HTML, XML o JSON

Figura 5: Funcionamiento del MVC


Ing. Ignacio Albán Idrovo Introducción al modelo de programación MVC

Beneficio del uso de MVC


Utilizar el estándar MVC trae ciertos beneficios entre los cuales se puede citar los
siguientes:

 Se evita el llamado código espagueti.


 El código es mucho más legible, por lo tanto, fácil de entender.
 Se tiene un código más ordenado, lo cual facilita el mantenimiento de la
aplicación.
 Se tiene separadas el diseño (HTML) de la codificación (lenguaje de
programación como PHP, C#, Java, entre otro).
 Permite utilizar la Programación Orientada a Objetos.
 Se facilita la reutilización de código.

Frameworks que hacen uso de MVC


En la actualidad hay varios Frameworks que hacen uso de este modelo de
desarrollo, entre los que tenemos:

Nombre de la plataforma Lenguaje de programación


Visual Studio dot Net C# o VB
Spring
PrimeFaces Java
Vaadin
Angular
VueJs JavaScript
ReactJs
Laravel
Zend
PHP
Symphony
Codeigniter
Django Python

Taller 1
Realice una investigación que permita realizar la comparación de los frameworks
Zend y Codeigniter con Laravel, analice rendimiento, facilidad de codificación y
curva de aprendizaje
Ing. Ignacio Albán Idrovo Utilizando Laravel como Framework de desarrollo

CAPITULO 2

Utilizando Laravel como Framework de desarrollo


Laravel es en la actualidad uno de los Frameworks de desarrollo de aplicaciones
web más usados en el mercado, tanto por su facilidad de aprendizaje, así como
también su versatilidad y potencia.

Requerimientos
Entre los diversos requerimientos que se tiene para poder trabajar con ésta
tecnología tenemos los siguientes:

 Un servidor web, el cual puede ser Apache, IIS, Nginx, Tomcat o cualquier
otro dependiendo del lenguaje de programación con el que se trabaje y en
algunos casos también el sistema operativo. Para el caso de las prácticas a
realizar se utilizará Xampp.
 Tener instalado el módulo de PHP en su servidor web, para versiones de
Laravel 5.8 use versiones de PHP 7.2 o superior.
 Se debe instalar Composer, su instalación depende del sistema operativo, en el
caso de Windows luego de instalar éste aplicativo, se recomienda reiniciar su
computador.

Figura 6: Instalación de Composer en Windows

 Instale los módulos de PHP de:


o Tokenizer
o Mbstring
o OpenSSL
Ing. Ignacio Albán Idrovo Utilizando Laravel como Framework de desarrollo

o Xml, XmlReader y XmlWriter


o PDO (dependiendo la base de datos que vaya a utilizar, por default use
las de mysql)

Figura 7: Módulos de PHP instalados y visualizados mediante phpinfo().

Instalación y creación de un proyecto con Laravel


Para instalar y crear un proyecto Laravel, se debe iniciar una ventana de
comandos, esto puede realizarse tanto en Windows, Linux o Mac. Una vez
iniciada, se debe ubicar en el directorio de trabajo de las aplicaciones web que se
van a realizar, la ubicación de esto depende de la configuración de su servidor
web.

Puesto que se va a hacer uso de Xampp, el directorio de trabajo por default es


c:\xampp\htdocs, si usted trabaja en Linux, y usa apache, entonces el directorio
default es /var/www.

Figura 8: Directorio de trabajo de Xampp


Ing. Ignacio Albán Idrovo Utilizando Laravel como Framework de desarrollo

Una vez que estamos ubicados en el directorio de trabajo se debe ejecutar el


comando:

# composer create-project --prefer-dist laravel/laravel miproyecto

Cuando se ejecute éste comando por primera vez y si usted no lo ejecutó


previamente en algún proyecto anterior, se instalará la versión última de Laravel
existente, caso contrario se usará la versión registrada en el sistema.

Si usted quiere instalar siempre la última versión de Laravel disponible, deberá


ejecutar el comando sin usar el parámetro prefer-dist (distribución preferida),
ejemplo:

# composer create-project laravel/laravel miproyecto

Si usted desea instalar una versión específica de Laravel al momento de crear su


proyecto, deberá ejecutar el comando de la siguiente forma:

# composer create-project laravel/laravel=”5.8” miproyecto

En lo anterior, se está indicando que la versión de Laravel a instalarse será la 5.8,


mientras que miproyecto representa el nombre del proyecto a crearse.

Preparación del servidor web para que funcione nuestra


proyecto
Luego de instalar, es necesario preparar nuestro servidor para que nuestra
aplicación pueda ser interpretada.

1. Primero debemos iniciar el Xampp

Figura 9: Interfaz de administración del Xampp


Ing. Ignacio Albán Idrovo Utilizando Laravel como Framework de desarrollo

2. Hacemos click en el botón config, y seleccionamos Apache httpd conf, con lo


cual aparecerá un archivo en un block de notas, para ser modificado.

Figura 10: Contenido del archivo httpd.conf

3. Nos ubicamos al final del archivo y agregamos la siguiente instrucción.

# Alias Laravel

Include conf/alias/alias.conf

Dicha instrucción nos indica que Apache va a buscar un archivo denominado


alias.conf en un directorio denominado alias dentro del directorio conf del
Xampp, cuyo path sería c:\xampp\apache\conf.

4. Crearemos el directorio alias y el archivo alias.conf

Figura 11: Directorio alias.conf

5. Editamos el archivo alias.conf, de forma tal que contenga las siguientes


instrucciones.

Figura 12: Contenido del archivo alias.conf

Donde pry2020G representa el nombre de su proyecto


Ing. Ignacio Albán Idrovo Utilizando Laravel como Framework de desarrollo

6. Cuando lo anterior esté terminado y esté seguro de que no existen errores, se


procede a iniciar el servidor apache.

Figura 13: Inicio del servidor apache usando Xampp

Nota: La configuración mostrada es adecuada para un entorno de prueba, pero no


es apta para un entorno de producción.

7. Edite el archivo .htaccess ubicado en el directorio public de su proyecto, y


agregue la siguiente instrucción

Figura 14: Definición del alias configurado en el archivo .htaccess

Nota: recuerde que un archivo que inicia con punto en Linux, es un archivo
oculto, por lo cual, si usted usa el comando ls para ver los archivos en el
directorio public, este no se mostrará.
Ing. Ignacio Albán Idrovo Utilizando Laravel como Framework de desarrollo

8. Verificamos el funcionamiento de nuestra aplicación, ingresando al browser


de nuestra preferencia (Firefox, Internet Explorer, Google Chrome, o
cualquier otro) y digitamos http://localhost/pry2020G, tenga en
consideración que pry2020G representa el alias definido en la configuración
que usted definió previamente.

Figura 15: Interface default de Laravel.

Taller 2
Realice una investigación permita crear una página web básica que incluya texto
(título, y contenido) y una imagen, ésta debe ser hecha con CodeIgniter, analice
los procesos de instalación del Framework, codificación y funcionalidad, luego
realice la misma página en Laravel, anote los pasos realizados, compárelos e
indique las similitudes, diferencias y analice cuál de ellos le pareció más simple.
Ing. Ignacio Albán Idrovo Directorios y archivos principales de Laravel y Arsitan

CAPITULO 3

Directorios y archivos principales de Laravel y


Artisan
Cuando se crea el proyecto el Composer agrega un grupo de directorios y archivos
cada uno tiene un funcionamiento particular, en éste apartado se mencionarán sólo
unos cuantos y serán aquellos en los que de alguna forma se va a trabajar.

Directorio app
Contiene el código del proyecto, es decir la parte lógica, o dicho de otra manera
toda la programación que se va a crear, contiene otros subdirectorios como son:

Console: El cual contiene todos los comandos que utiliza artisan y que se irán
utilizando a medida que se va avanzando.

Exeptions: Contiene las clases necesarias para ejecutar las diferentes


excepciones que se puedan presentar a cause de posibles errores que suelen
presentarse.

Http: Contiene los diferentes Controllers y Middlewares que se crearán y


usarán en la aplicación.

Directorio config
Contiene los diferentes archivos de configuración de la aplicación, algunos de
ellos son específicos como database.php o mail.php y otros generales como es el
caso de app.php.

Directorio public
Contiene los diferentes archivos que se usarán en la aplicación, estos pueden ser
imágenes, videos, javascript, hojas de estilo, entre otros.

Directorio resources
Entre los diferentes archivos y directorios que contiene está el directorio views, el
cual almacenará los diversos archivos de vistas que se crearán.

Directorio routes
Contiene varios archivos de los cuales se usará y modificará web.php, el cual
permitirá definir las diferentes rutas a las cuáles la aplicación responderá y re-
dirigirá.
Ing. Ignacio Albán Idrovo Directorios y archivos principales de Laravel y Arsitan

El resto de directorios y archivos que forman parte de Laravel no serán tocados o


modificados a excepción del archivo .env ubicado en el directorio raíz del
proyecto, el cual sirve para definir las variables de entorno del proyecto.

Figura 16: Contenido del archivo .env de Laravel

¿Qué es Artisan?
Artisan es una herramienta proporcionada por Laravel que funciona en una
interfaz de comandos (CLI – Command Line Interface), y está basada en la
consola de Symphony y facilita la acción de diversas acciones, incluso si la
aplicación se encuentra en un entorno de producción. (Saleh, 2019)

Figura 17: Imagen de php artisan. (Saleh, 2019)

Como se indicó previamente artisan funciona en CLI, por lo cual se necesita abrir
una consola de comandos y ejecutar el comando:

> php artisan ...


Ing. Ignacio Albán Idrovo Directorios y archivos principales de Laravel y Arsitan

Por ejemplo si se desea ver un listado de los comandos que podemos ejecutar con
artisan podemos usar el comando

> php artisan list

El resultado obtenido será algo similar a lo que se muestra a continuación.

Figura 18: Resultado de la ejecución del comando php artisan list.

Adicionalmente también es posible iniciar un servidor de prueba, lo cual es muy


útil cuando no se tiene un servidor web con el cual realizar dicha acción, para
realizar ésta acción es necesario ejecutar la siguiente instrucción:

> php artisan serve

Con lo cual se iniciará un servidor con un puerto 8000, tal como se muestra a
continuación

Figura 19: Ejecución del servidor artisan

Si desea detener el servidor presione la combinación de teclas CTRL + C. Para


verificar que dicho puerto está funcionando es posible ejecutar el comando:
Ing. Ignacio Albán Idrovo Directorios y archivos principales de Laravel y Arsitan

> net – stat| more

Con lo cual tendremos un resultado similar al siguiente:

Figura 20: Verificación de existencia del puerto 8000 del servidor artisan

Taller 3
Realice una investigación que permita conocer los comandos más comunes y que
piense usted que son útiles al momento de usar artisan. Luego investigue cómo
crear un comando personalizado en artisan, y luego genere uno que permita crear
una vista con la estructura base (TAGS HTML> de una página web.
Ing. Ignacio Albán Idrovo Iniciando la creación del proyecto

CAPITULO 4

Iniciando la creación del proyecto


Para iniciar la creación o programación de nuestro proyecto, se debe seguir los
siguientes pasos:

1. Diseñar la estructura y navegabilidad de nuestra aplicación, junto que sus


diversas interfaces, para ello se puede hacer uso del UML.
a. En el caso de la navegabilidad, incluya también las rutas o URLS, a los
cuáles responderá la aplicación, junto con sus respectivos
Controladores y Métodos.
b. Defina también el método de envío de las solicitudes recordando que
existen POST y GET, aunque por cuestión seguridad se recomienda el
uso de POST.
c. Si hace uso de UML, recuerde utilizar Diagramas de Clases, Casos de
Uso, y de ser necesario Diagramas de Componentes, y cualquier otro
tipo de diagrama que considere vital para el correcto desarrollo y
documentación de su aplicación.

Figura 21: Ejemplo de diagrama de clases

2. Inicie la programación creando el o los constructores necesarios con los


diferentes métodos, junto con las diferentes vistas, use para esto Bootstrap y si
puede algún tema sería excelente.
a. En la creación de las vistas, tenga en consideración que si van a ser
dinámicas debe usar Blade.

Figura 22: Logotipo de Laravel aplicado a Blade (Skvorc, 2015)


Ing. Ignacio Albán Idrovo Iniciando la creación del proyecto

b. Tenga creada las diferentes galerías gráficas y colores que va a utilizar.


En caso de desear usar algún color no definido o personalizado, cree
los estilos necesarios para su correcta visualización.
3. Defina o programe la interactividad de las aplicaciones con JQuery,

Creando las Vistas


Como se indicó previamente, las vistas son la representación de los resultados de
la solicitud realizada por el usuario, el cual es entregado en formato HTML, en
algunos casos mezclados con CSS, imágenes y más.

Las vistas son archivos de extensión php que se crean en el subdirectorio views
del directorio resources de Laravel.

<nombre_archivo>.php

Cabe indicar que cuando el contenido de nuestra vista va a variar por algún
motivo, como por ejemplo una consulta a una base de datos, dicha página deberá
ser manipulada mediante el uso de Blade.

¿Qué es Blade?
Blade es el sistema de plantillas que utiliza Laravel, para que el Framework
identifique que se va a usar éste sistema, el archivo de vista debe ser grabado con
la extensión blade.php, es decir tener el siguiente formato

<nombre_archivo>.blade.php

Para implementar ésta plantilla en las diferentes vistas se debe tener en cuenta qué
acción se quiere realizar, puesto que tiene varios tipos de instrucciones que se
pueden usar, entre las cuales tenemos:

Imprimir variables

Cuando se quiere imprimir el contenido de una variable, ésta debe estar


encerrada entre dobles llaves, por ejemplo:

{{ $mivariable }}

Cuando la variable cuyo contenido es un arreglo, puede ser mostrado de la


siguiente forma

{{ $miArreglo[3] }}

{{ $miArreglo[‘miKey’] }}
Ing. Ignacio Albán Idrovo Iniciando la creación del proyecto

Mientras que, si mi variable es un objeto, debemos hacer uso del siguiente


formato

{{ $miObjetomiAtributo }}

Incluso se puede hacer uso de sentencias de php dentro de nuestra vista,


aunque si se desea mantener la independencia de la vista, no se recomienda
su uso, más sin embargo se muestra a continuación su uso.

{{ strtoupper($mivariable) }}

Comprobar la existencia de datos en una variable es sumamente simple


cuando se utiliza Blade, y el proceso sería asignarle un valor por default en
caso de no existir, por ejemplo:

{{ $mivariable or ‘ValorDefault’ }}

Donde ValorDefault puede ser un número, letra o simplemente un espacio


en blanco, por ejemplo:

{{ $mivariable or ‘1’ }}

{{ $mivariable or ‘abc’ }}

{{ $mivariable or ‘’ }}

En ocasiones, la variable contiene caracteres HTML, por lo cual, si usamos


el formato previo, éstos no se mostrarán correctamente, puesto que se
imprimirán como si fuera un texto ordinario, para evitar este inconveniente
usamos el siguiente formato

{ !! $mivariable !! }

Condicionales

Cuando se desea implementar condicionales se usa la sentencia @if, y si se


necesita también la sentencia @else, y finaliza con @endif, es decir
implementar el siguiente formato. (Palacios, 2017)

@if (<condición>)

Bloque de instrucciones HTML

@endif
Ing. Ignacio Albán Idrovo Iniciando la creación del proyecto

También es posible utilizar el siguiente formato

@if(<condición>)

Bloque de instrucciones HTML

@else

Bloque de instrucciones HTML

@endif

Incluso es posible implementar varias condicionales mediante el siguiente


formato

@if (<condicional_1>)

Bloque de instrucciones HTML

@elseif (<condicional_2>

Bloque de instrucciones HTML

@else

Bloque de instrucciones HTML

@endif

Bucles

Para implementar bucles se puede utilizar las sentencias @for, @foreach,


@while, teniendo en cuenta el siguiente formato

@while(<condicional>)

Bloque de instrucciones HTML

@endwhile

@for(<condicional>)

Bloque de instrucciones HTML

@endfor

@foreach(<condicional>)

Bloque de instrucciones HTML

@endforeach
Ing. Ignacio Albán Idrovo Iniciando la creación del proyecto

El uso de sentencias de escape en un bucle, tales como @continue y


@break también es posible, y su funcionamiento es igual al que se usa en la
programación PHP o Java. Estas sentencias pueden ir implementadas junto
con sentencias @if o implementa las condicionales de forma directa
mediante el siguiente formato

@foreach(<condicional>)

Bloque de instrucciones HTML

@continue(<condicional_1>)

Instrucciones HTML en caso de ejecutarse el CONTINUE

@break(<condicional_2>)

@endforeach

Por ejemplo:

@foreach( $users as $user )

@continue( $userid == 2 )

<p> {{ $userid }} – {{ $username }} </p>

@break( $userid == 7 )

@endforeach

También es posible utilizar sentencias adicionales dentro de un bucle,


mediante el uso de la variable especial $loop, la cual tiene información
sobre el estado de dicho bucle. (https://sodocumentation.net/)

SENTENCIA DESCRIPCIÓN
$loopindex Índice de la iteración del bucle actual.
$loopiteration Número de iteración del bucle actual.
$loopcount Número total de elementos en la matriz que se está
iterando.
$loopfirst Permite conocer si se está en la primera iteración.
$looplast Permite conocer si se está en la última iteración.

Creación de vistas parciales


En ocasiones el diseñador nos presenta elementos repetitivos a lo largo de nuestra
aplicación web, con la finalidad de no repetir código se crea la figura de vistas
Ing. Ignacio Albán Idrovo Iniciando la creación del proyecto

parciales, las cuales pueden ser incluidas en la vista principal mediante el uso de
la sentencia @include, cuyo formato es el siguiente

@include(‘<vista_parcial’>,<variable_o_variables>)

Donde el segundo campo es opcional (puede usarse un arreglo), es decir el hecho


de tener que incluirla en la aplicación depende de si la vista parcial usa alguna
variable, es decir tiene en su estructura alguna variable, un ejemplo de esto puede
ser el siguiente:

@include(‘mivistaparcial’, [‘campo1’=>’valor1’,’campo2’=>’valor2’])

Organizando las vistas en directorios


Como una de las prioridades es la organización de la información o en este caso
los archivos de vista, éstos pueden ser agrupados mediante el uso de directorios,
siendo éste el caso, es importante recordar que cuando se quiera llamar a una vista
ya sea desde un controlador o desde la vista misma mediante el uso de la
instrucción @include, para indicar que el directorio que lo contiene éste debe
separarse del nombre del archivo de vista a través del uso de un punto, por
ejemplo:

Directorio Donde si deseamos cargar nuestra vista2, desde


un controlador la sentencia sería
Directorio2
return

Directorio3 view(‘Directori1.Directorio2.vista2’);

Vista1.blade.ph
p Mientras que para incluir a Vista1 dentro de
Vista2, se tendría que usar una sentencia como
Vista2.blade.p
hp @include(‘Directorio1.Directorio2.Directori3
Figura 23: Estructura de Vistas .vista1)

Taller 4
Realice una página en Laravel que presente una página web dinámica que use
todos los comandos Blade vistos en el capítulo actual
Ing. Ignacio Albán Idrovo Creando Controladores

CAPITULO 5

Creando Controladores
Definición
Un controlador es un objeto cuya estructura y funcionamiento es heredado de una
clase denominada Controller, éstos deben ser creados en el directorio
app/Http/Controllers.

Los controladores, permiten definir el comportamiento o funcionamiento que la


aplicación debe tener.

Es posible crear un controlador de varias formas, entre las cuales está la edición
directa el cual implica crear un archivo con la siguiente estructura:

namespace App\Http\Controller;

use App\Http\Controllers\Controller;

class MiControlador extends Controller{

// Definición de atributos y métodos

Tenga en consideración que el nombre del archivo y del controlador deben


coincidir, es decir el archivo debería llamarse MiControlador.php, puesto que el
nombre de la clase o controlador es MiControlador.

Además del método anterior, es posible hacer uso de comandos artisan, es decir
hacer uso de la sentencia make, para crear éste componente, por ejemplo:

> php artisan make:Controller MiControlador

Donde MiControlador es el nombre del controlador que se desea crear.

Una vez creado el controlador, es posible definir el funcionamiento de la


aplicación, mediante la especificación de atributos y métodos, tal como lo define
los conceptos de programación orientado a objetos. Tenga en consideración lo
siguiente:

 Los atributos, deben ser definidos usando las sentencias: private, public o
protected.
 Los atributos, deben tener el símbolo de $ al inicio de su definición.
 Los atributos, pueden o no tener asignado un valor inicial, se recomienda
que siempre le asigne uno.
Ing. Ignacio Albán Idrovo Creando Controladores

 Los atributos deben terminar con (;).


 Los métodos deben utilizar las sentencias private, public o protected, igual
que los atributos.
 Los métodos son funciones, por lo cual debe incluir la sentencia function
en la definición del mismo.
 Los métodos pueden o no tener parámetros. Si el método va a recibir datos
vía httpRequest o httpsRequest, debe definir un parámetro de tipo Request.

Un ejemplo de lo anteriormente indicado puede ser el siguiente:

class MiControlador extends Controller{

namespace App\Http\Controller;

use App\Http\Controllers\Controller;

class MiControlador extends Controller{


Atributo privado, con un
private $MiAtributo = 0;
valor inicial.

public function mostrar($id){ Método público con un


// Código a ejecutar
parámetro

public function generar(Request $request){

// Código a ejecutar
Método público que recibe
return $respuesta; datos vía Request.
}

Tenga en consideración que, a diferencia de Java, PHP no soporta polimorfismo,


por lo tanto, no puede haber 2 o más métodos con el mismo nombre, incluso si su
estructura es diferente.

Utilidad
Como se indicó previamente los controladores permiten la definición de todo el
comportamiento o funcionamiento de la aplicación, por lo cual, dependiendo del
tamaño de nuestro proyecto, existirán 1, 2, …, n Controladores, se recomienda
que defina de forma adecuadamente cada uno de ellos.

El controlador será el nexo entre el Ruteador, la Vista y el Modelo, expresado de


otra forma; el Ruteador, llamará al Controlador, el cual se encargará de procesar
Ing. Ignacio Albán Idrovo Creando Controladores

alguna información, si es necesario, cargará y proveerá data a un modelo, para


posteriormente mostrar y/o retornar una vista, esto último dependerá de la
necesidad presente, tenga en consideración que habrá ocasiones en la que necesite
que el Controlador retorne únicamente data, para lo cual usará un formato XML o
JSON.

Model

Router Controller View

XML

JSON

Figura 24: Funcionamiento del Controlador

Como se puede ver en la gráfica anterior, las salidas o retornos del controlador,
deben ser una vista o uno de los dos formatos mencionados. Cuando un método
del controlador no retorna alguna acción, éstos deberán ser definidos como
private, y se los usará en alguno de los otros métodos definidos.

namespace App\Http\Controller;

use App\Http\Controllers\Controller;

class MiControlador extends Controller{

private $MiAtributo = 0;

Método público que


public function generar(){ retorna una vista.

// Código a ejecutar

return view(‘mivista’);

Cuando deseamos retornar un dato en formato JSON, éste debe ser convertido
desde un objeto (class) o un arreglo (array), mediante la instrucción json_encode.
Ing. Ignacio Albán Idrovo Creando Controladores

El caso de XML, el estudiante deberá investigarlo, pues es parte importante de la


formación profesional, puesto que este formato sigue siendo usado, especialmente
cuando se usan web service SOAP u otros, mientras que el formato JSON se usa
en los servicios de tipo REST, el cual es de amplia aplicación actualmente.

En ciertas ocasiones es necesario la creación de un Controlador base, con la


finalidad de evitarnos escribir sentencias o métodos que pueden ser repetitivos,
para ello se hace uso del concepto de herencia estudiado en programación
orientada a objetos, es decir, se crea un controlador base, y luego otros
controladores que hereden del anterior, claro está que cada controlador está en un
archivo diferente.

namespace App\Http\Controller;

use App\Http\Controllers\Controller;

class MiControladorBase extends Controller{

private $MiAtributo = 0;
Controlador base.

public function generar(){

// Código a ejecutar

return view(‘mivista’);

namespace App\Http\Controller;
Controlador especializado.
use App\Http\Controllers\Controller;

class MiControlador extends MiControladorBase{

// Código del Controlador

Tenga en consideración que como se está trabajando con programación orientada


a objetos, si usted considera necesario, puede sobre-escribir los métodos del
Controlador base, para mejorar o ampliar su funcionamiento.
Ing. Ignacio Albán Idrovo Creando Controladores

Pasando datos a una vista


En ocasiones, se crean vistas dinámicas (usando blade), y en ellas se definen
variables, las cuales serán enviadas desde el Controlador, para realizar ésta acción
existen 2 formas:

 Mediante el uso de un arreglo.


 Mediante el uso de la sentencia with.

Cuando se quiere hacer uso de un arreglo, recuerde que éstos se pueden definir
usando la sentencia array, o directamente mediante el uso de corchetes, por
ejemplo:

Caso 1: Usando sentencia array.

class MiControlador extends Controller{

public function cargar(){

$data = array(‘mivariable’=>’valor’);

return view(‘mivista’, $data);

} Envío de datos usando


sentencia array para
definir el arreglo.

Caso 2: Usando corchetes.

class MiControlador extends Controller{

public function cargar(){

$data = [‘mivariable’=>’valor’];

return view(‘mivista’, $data);

}
Envío de datos usando
}
array definido por
corchetes.

En ambos casos mivariable representa el key y valor el valor asignado a dicho


key, tenga en consideración que valor, puede ser un números enteros o decimales,
letra, cadena de caracteres, entre otros. Si se tienen más de una variable, estas
deben estar separadas por una coma.
Ing. Ignacio Albán Idrovo Creando Controladores

Caso 3: Usando la sentencia with.

class MiControlador extends Controller{

public function cargar(){

return view(‘mivista’)

->with(‘mivariable’,’valor’);

}
Envío de datos usando
} sentencia with.

Si se desea incorporar más variables entonces deberá usarse varias sentencias


with.

Taller 5
Cree una aplicación web con tres páginas, las cuales deberán usar dos
controladores lo cuales heredarán de una previa denominada base, no deben usar
modelos similares a los incluidos en el capítulo actual, incluya el código y las
capturas de pantallas necesarias para poder mostrar el funcionamiento de las
mismas.
Ing. Ignacio Albán Idrovo Ruteadores

CAPITULO 6

RUTEADORES
Definición
En informática los ruteadores son dispositivos que se encarga de rutear o dirigir la
información desde un punto perteneciente a una red a otro de otra red,
completamente diferentes y sólo conocidas por dicho punto de conexión.

En éste tópico, se usará un concepto análogo, es decir, el ruteador, se encargará de


dirigir las peticiones realizadas por el cliente a una determinada dirección URL,
hacia el controlador que se desea recepte dicha solicitud, la procese y retorne
algún tipo de respuesta.

Las “rutas” se definirán en un archivo denominado web.php, el cual se encuentra


en el directorio routes, aquí se definirán todas las rutas que vaya a usar la
aplicación.

Callback

Route View

Route Controller

Figura 25: Posibles formas de funcionamiento de una ruta en Laravel.

Como se puede visualizar en la gráfica anterior, es posible hacer que una ruta
funcione con un callback, con un controller, llamar directamente a una vista
(siempre que sea estática), o llamar a otra ruta, en cuyo caso estamos hablando de
un re direccionamiento.

Es posible hacer uso de las rutas en varias formas, se recomienda revisar la


documentación de éste tema en la página oficial de Laravel.

Para definir una ruta será necesario utilizar el siguiente formato:

Route::<TIPO_SOLICITUD>(‘<RUTA>’,’PROCESO_A_EJECUTAR’);

También es posible definirlo de la siguiente forma:


Ing. Ignacio Albán Idrovo Ruteadores

Route::<TIPO_SOLICITUD>(‘<RUTA>’,’CONTROLLER@METODO’);

Donde TIPO SOLICITUD, puede ser POST o GET, tenga en consideración que,
si se está implementando un servicio REST, éstos también pueden soportar PUT y
DELETE, estos suelen implementarse cuando usted está trabajando con un
modelo CRUD (Create, Read, Update, Delete), se recomienda investigar acerca
de éste tema, otros tipos a usar son patch y options, investigue la forma de usarlos
y el para qué.

RUTA, representa el URL que será interpretado y redirigido hacia el controlador y


método deseado. Es importante hacer uso de esto, para evitar proveer a los
usuarios o posibles intrusos información acerca de la estructura de nuestra
aplicación web. Tenga en consideración lo siguiente:

Cuando nuestro URL es http://misitio.com/, entonces la ruta a definir será


‘/’, pero si la ruta fuera http://misitio.com/login, deberá ser definida como
‘/login’

PROCESO A EJECUTAR, representa a una función a procesar, la cual estará


escrita a modo de callback, no se recomienda el uso de éste método, puesto que
rompe la estructura ordinaria, aunque para casos particulares que impliquen
procesos cortos, y específicos podría ser una excelente alternativa. Un ejemplo de
éste uso sería:

Route::get(‘/’, function(){

return “Hola”;

}); callback

En cambio, cuando se desea que el ruteador apunte a un determinado método


perteneciente a un controlador, el ejemplo que muestra ésta acción sería:

Route::post (‘/generar’,MiControlador@generar);

Este ejemplo está basado en el controlador definido en el capítulo anterior.

Nota: Cuando usamos una ruta con método post, es necesario que nuestro
formulario tenga definido un objeto token, lo cual es una seguridad implementada
por Laravel, éste tema se mostrará más adelante, en la sección de formularios.
Ing. Ignacio Albán Idrovo Ruteadores

Taller 6
Realice una investigación que permita visualizar, las diferentes formas en las
cuales se puede utilizar las rutas en Laravel, con ejemplos que expliquen
adecuadamente su funcionamiento.
Ing. Ignacio Albán Idrovo Trabajando con Formularios

CAPITULO 7

TRABAJANDO CON FORMULARIOS


Los formularios son interfaces con las cuales el usuario, interactuará con la
aplicación ingresando información, uno de los formularios los cuales todo usuario
identifica es el de Login, en el cual se ingresan como datos el usuario y la clave.

Cuando usamos HTML, éstos datos se ingresan en TAGS input definidos con un
type de text y password respectivamente.

Algo que es importante recordar, especialmente cuando se va a enviar la


información vía POST, es el hecho de que Laravel, por motivos de seguridad
utiliza algo denominado token, el cual debe ser incluido en el formulario, para
realizar ésta acción es necesario utilizar la sentencia CSRF_FIELD, tal como se
muestra a continuación (para ello nuestra vista debe ser dinámica).

{{ csrf_field }}

Cuando se visualice en el cliente, se mostrará algo similar a lo siguiente:

<input type = “hidden” name= “_token” value = “<KEY_GENERADO_POR_LARAVEL” >

Figura 26: Ejemplo de página de login

Tenga que consideración que los token generados por Laravel, son únicos e
irrepetibles, lo cual evita que se generen ataques de tipo CSRF.
Ing. Ignacio Albán Idrovo Trabajando con Formularios

Aunque no se recomienda (porque se generaría un hueco de seguridad), en ciertas


ocasiones es necesario omitir el uso de ésta medida de seguridad, para lo cual es
necesario editar el archivo VerifyCsrfToken.php, ubicado en
app\Http\Middleware, en la sección except, tal como se muestra en el siguiente
ejemplo:

class VerifyCsrfToken extends Middleware

protected $addHttpCookie = true;

...

protected $except = [
Las rutas login y singup, están
"login","singup"
definidas no necesitan csrf token.
];

También es posible crear elementos o tags de formularios de forma interactiva,


utilizando HELPERS, tenga en consideración que a partir de la versión 5 de
Laravel, esto está “desactivado”, por lo cual es necesario incorporarlo a la
aplicación, para ello se debe ejecutar la sentencia:

> composer require laravelcollective/html

Esto realizará todas las acciones que sean necesarias para habilitar los elementos
deseados, también es posible hacerlo de forma manual, para lo cual debe seguir
los siguientes pasos:

1. Editar el archivo composer.json y agregar en la sección require, la siguiente


instrucción:

“laravelcollective/html” : “version”

Donde versión es el número de la versión instalada de Laravel, si usted usa la


versión 5, su sentencia sería

“laravelcollective/html” : “~5.*”

Mientras que si usa la 6


Ing. Ignacio Albán Idrovo Trabajando con Formularios

“laravelcollective/html” : “~6.*”

Manténgase al tanto de los cambios sobre éste proceso

2. Ejecutar el comando:

> composer update

3. Editar el archivo app.php, ubicado en el directorio config del proyecto, y


agregar lo siguiente, en las secciones providers y aliases repectivamente.

‘providers’=> [

// …

Collective\Html\HtmlServiceProvider::class,

// …

‘aliases’=>[

// …

‘Form’ => Collective\Html\FormFacade::class,

‘Html’ => Collective\Html\HtmlFacede::class,

// …

Luego de haber realizado lo anterior, ya está habilitado el HELPER para iniciar el


trabajo, existen varias instrucciones para trabajar con esto, se recomienda revisar
la página https://laravelcollective.com/docs/6.0/html, tenga en cuenta que la
documentación cambia acorde con la versión, el link indicado previamente es para la
versión 6 de Laravel, si usted tiene una versión anterior o posterior, se recomienda
busque la información en la página oficial de Laravel.

Dos de los elementos más utilizados son los INPUT y los SELECT, por lo cual serán los que
se muestren en éste tópico

Uso de INPUTS
La sentencia que permite incluir un input es
Ing. Ignacio Albán Idrovo Trabajando con Formularios

Form::text(‘usuario’);

También es posible asignarle un valor, mediante la siguiente instrucción:

Form::text(‘usuario’, ‘alanso’);

Con lo cual se generan los siguientes tags

<input type = “text” name = “usuario”>

<input type = “text” name = “usuario” value = “alanso”>

Uso de SELECT
Tenga en consideración que el TAG select tiene la siguiente form:

<select name = “minombre”>

<option>valor1</option>

<option>valor2</option>

</select>

Para lograr que se genere los tags anteriormente mostrados, se debe usar la
siguiente sentencia.

Form::select(‘minombre’,[valor1, valor2])

Si nuestro select es algo más complejo como lo siguiente:

<select name = “minombre”>

<option value = “X” >valor1</option>

<option value = “Y” >valor2</option>

</select>

Se deberá usar una sentencia similar a la siguiente:

Form::select(‘minombre’,[ “X” => valor1, “Y” => valor2])


Ing. Ignacio Albán Idrovo Trabajando con Formularios

Taller 7
Realice una página web que tenga o llame a dos páginas adicionales, cada una de
ellas con un formulario, los controles a utilizar serán INPUT, SELECT,
CHECKBOX y RADIO, cada uno de ellos deben ser creados a través del uso de
los helpers, finalmente una tercera página que use los mismos controles indicados
en una de las páginas previas, pero usando tags html ordinarios, compare el
proceso utilizado, el tiempo que demoró en crearlo, compare y presente los datos
en una tabla. Finalmente, de su opinión con respecto a la comparación realizada.
Ing. Ignacio Albán Idrovo Trabajando con Modelos

CAPITULO 8

TRABAJANDO CON MODELOS


Antes de definir un modelo, es importante entender que para que esto funcione,
Laravel necesita que estén activos los elementos o librerías PDO (PHP Data
Object), respectivo para cada base de datos, por ejemplo, mysql usa la librería
php_pdo_mysql, las cuales deben ser instaladas en el servidor, para ello debe
tener en cuenta el sistema operativo en el que está trabajando. (Investigar cómo
instalar las librerías PDO en Linux, tanto para MySql como para Postgres).

Para visualizar qué librerías o módulos tiene instalado php, es necesario usar la
sentencia phpinfo, la cual mostrará una interface similar a la siguiente:

Figura 27: Pantalla que muestra que PHP tiene instalado el módulo MySqli

Figura 28: Interface que muestra la existencia del módulo de PDO para MySql en PHP

Definición
Los modelos son objetos que modelan las tablas o vistas de una base de datos, hay
que tener en consideración los siguientes aspectos cuando definimos un modelo:

 Los nombres de las tablas deben estar en plural.


 Las tablas deben contener como primary key el campo id (esto puede ser
modificado, como se verá posteriormente).
Ing. Ignacio Albán Idrovo Trabajando con Modelos

 Las tablas deben incluir los campos created_at y updated_at (estos pueden
omitirse o cambiar su nombre como ve verá posteriormente).
 Los nombres de los modelos deber ser iguales a los nombres de las tablas,
para casos complejos puede hacerse ciertos cambios como se verá
posteriormente).
 Los atributos del modelo deben ser los mismos que los de la tabla o vista.

Con la finalidad de facilitar el proceso de obtención y actualización de la


información Laravel utiliza una librería especializada denominada Eloquent ORM
(Object Relational Management), el cual suele ser comparado con otra librería
para ésta actividad usada por otros frameworks, denominada Doctrine.

Figura 29: Imagen de Eloquent ORM.

Para conectarse a una base de datos es necesario modificar el archivo


config/database.php, y escribir los datos necesarios para acceder a la base
deseada, por default Laravel usa mysql, pero soporta también sql server y
postgres.

Un ejemplo de la configuración es la siguiente:

Figura 30: Contenido del archivo database.php, en la sección para mysql


Ing. Ignacio Albán Idrovo Trabajando con Modelos

Creando un Modelo
Al igual que los controladores es posible crear un modelo mediante la edición un
archivo, o usando la sentencia make de artisan, tal como se ve a continuación:

> php artisan make:Model MiModelo

Lo cual creará un archivo denominado MiModelo.php ubicado en app/, cuyo


contenido será el siguiente:

namespace App;

use Illuminate\Database\Eloquent\Model;

class MiModelo extends Model{

// contenido del modelo

Primary key diferente de Id


En varias ocasiones el desarrollador se enfrenta al hecho de que el campo de tipo
primary key se denomina diferente a id, (lo cual en la cultura latinoamericana es
común), para lo cual es necesario considerar lo siguiente.

1. Nombre del campo de tipo primary key. En caso de ser diferente de id, se
incluirá la sentencia

protected $primarykey = ‘nombre_campo’;

2. Tipo de dato del campo primary key. En caso de ser diferente de int, se usará
la sentencia

protected $keytype = ‘tipo_dato’;

3. En caso de ser numérico, ¿el campo es auto-numérico? En caso de no ser éste


el caso se usará la sentencia

protected $incrementing = false;


Ing. Ignacio Albán Idrovo Trabajando con Modelos

Por ejemplo, si se tiene una tabla denominada Cliente cuyo campo primary key es
cédula, el cual es de tipo string y debido al tipo de dato éste no es auto
incremental, entonces el código del modelo sería:

namespace App;

use Illuminate\Database\Eloquent\Model;

class Cliente extends Model{

protected $primarykey = ’cedula’;

protected $keytype = ’string’;

public $incrementing = false;

Cuando la tabla y el modelo usan diferentes nombres


En ciertas ocasiones los modelos y las tablas usan nombres diferentes, esto puede
deberse a los estándares de programación utilizados o incluso al uso de caracteres
de unión en el caso de nombres compuestos, por ejemplo, cuando la tabla se
denomina factura_detalle, y nuestro modelo se llama FacturaDetalle, entonces
será necesario usar la siguiente codificación

protected $table = ‘nombre_tabla’;

El ejemplo práctico de lo anteriormente mencionado sería:

class FacturaDetalle extends Model{

protected $table = ’factura_detalle’;

Cuando la tabla no contiene los campos created_at o


updated_at, o su nombre es diferente.
Muchas veces las tablas no contienen los campos created_at o updated_at (los
cuáles suelen usarse como auditoría, para saber cuándo un registro fue creado o
modificado; ésta es una práctica común en los desarrolladores o desarrollos
profesionales), por lo cual es necesario omitirlos, para realizar ésta acción es
necesario utilizar la siguiente sentencia

public $timestamps = false;


Ing. Ignacio Albán Idrovo Trabajando con Modelos

Con lo cual el modelo quedaría similar a lo siguiente:

namespace App;

use Illuminate\Database\Eloquent\Model;

class MiModelo extends Model{

public $timestamps = false;

Por otro lado, en ocasiones, especialmente en nuestro idioma, solemos llamar a


éstos campos de auditoría con otros nombres, por ejemplo, fecha_creacion y
fecha_actualizacion, entonces deberemos representar éstos campos en nuestro
modelo, mediante la definición siguiente:

const CREATED_AT = ’fecha_creacion’;

const UPDATED_AT = ‘fecha_actualizacion’;

Con lo cual el modelo quedará de la forma siguiente:

namespace App;

use Illuminate\Database\Eloquent\Model;

class MiModelo extends Model{

const CREATED_AT = ’fecha_creacion’;

const UPDATED_AT = ‘fecha_actualizacion’;

Una vez que nuestro modelo ha sido definido, ya es posible su utilización, para
ello se debe instanciar el modelo y usar los métodos inherentes al modelo. La
instanciación se debe realizar en el controlador, esto se usa cuando deseamos
insertar datos nuevos en una tabla.

$mimodelo = new MiModelo();

Para ello previamente debe importar al modelo o modelos a utilizar, mediante la


sentencia use, por ejemplo:

use App\MiModelo;
Ing. Ignacio Albán Idrovo Trabajando con Modelos

Con lo cual el controlador podría tener un contenido como el siguiente:

use App\MiModelo

class MiControlador extends Controller{ Instanciación del modelo


public function cargar(){

$mimodelo = new MiModelo();

Cuando se desea obtener datos o actualizarlos, no es necesario instanciar al


modelo.

Acciones que pueden realizarse o ejecutarse con el modelo.


Obteniendo datos a través de su primary key. - Cuando hacemos una búsqueda
utilizando un primary key, implica que únicamente se obtendrá un único registro,
para ello se necesita hacer uso de la sentencia find.

Por ejemplo, queremos obtener los datos de la persona cuyo número de cédula es
0923453423, para ello el campo cedula debe ser de tipo primary key.

$persona = Persona::find(‘0923453423’);

Obteniendo todos los datos. - Para obtener todos los datos es necesario usar la
sentencia o método all, por ejemplo:

$datos = MiModelo::all();

Lo cual implica que se estará realizando la siguiente sentencia SQL

SELECT * FROM MiModelo

Obteniendo el primer dato de una consulta. - Para realizar ésta acción es


necesario hacer uso de la sentencia first.

$datos = MiModelo::first();

Lo cual equivale a la sentencia SQL

SELECT * FROM MiModelo LIMIT 1


Ing. Ignacio Albán Idrovo Trabajando con Modelos

Obteniendo datos realizando un filtro. - Para filtrar datos es necesario ejecutar


la sentencia where, la cual tiene varias formas de uso.

 where(<condición>, <valor>), el cual es equivalente a where(<condición =


>, <valor>)
 where(<condición>, <comparador>, valor), donde comparador a utilizar
puede ser =, >, <, >=, <=
 whereIn(<condición>, <arreglo_de_valores>), es equiparable a la
sentencia IN en una sentencia TSQL.

Por ejemplo, si tenemos un Modelo denominado Estudiantes, el cual tiene un


campo denominado edad, y se desea obtener todos los estudiantes cuya edad, está
entre 18 y 25 años. Entonces la sentencia a utilizar sería.

$estudiantes = Estudiantes::where(‘edad’, ‘>=’,18)

->where(‘edad’, ‘<=’,25)

->get();

Esto sería equivalente a ejecutar la sentencia

SELECT * FROM Estudiantes WHERE edad>=18 AND edad<=25

En este caso, para que Eloquent nos retorne los datos es necesario
(OBLIGATORIO) agregar la sentencia get(), al final.

Otra sentencia que es ampliamente usada es orWhere y es usada cuando deseamos


obtener datos que cumplan una condición u otra, por ejemplo, si deseamos obtener
todos los Empleados cuyo estado civil es Soltero (‘S’) o Casados (‘C’), la
sentencia a usar sería.

$empleados = Empleados::where(‘estadocivil, ‘=’, ‘S’)

->orWhere(‘estadocivil, ‘<=’, ‘C’)

->get();

Lo cual es equivalente a ejecutar la sentencia

SELECT * FROM Empleados WHERE estadocivil=’S’ OR estadocivil=’C’

En ocasiones es posible filtrar datos que cumplan más de 1 criterios sobre el


mismo campo, por ejemplo, si se desea obtener todos los empleados que sean
solteros, casados y viudos (‘V’), es posible hacer uso de la sentencia whereIn,
Ing. Ignacio Albán Idrovo Trabajando con Modelos

$empleados = Empleados::whereIn(‘estadocivil’, [‘S’, ‘C’, ‘V’])->get();

Esto será equivalente a la siguiente sentencia TSQL

SELECT * FROM Empleados WHERE estadocivil IN (‘S’,’C’,’V’)

Obteniendo únicamente ciertos campos. - En ocasiones no necesitamos todos


los campos provenientes de una consulta, para ello es necesario usar la sentencia
SELECT, por ejemplo

Si se desea únicamente los campos cedula, nombre y apellido del modelo


Empleados, la sentencia a utilizar sería

$datos = Empleados::select(‘cedula, nombre, apellido’)->get();

Lo cual es equivalente a

SELECT cedula, nombre, apellido FROM Empleados

Actividad 1
Investigar la forma en la cual es posible ejecutar sentencias como SUM, COUNT,
MAX y MIN.

Actividad 2
Investigar la forma en la cual es posible ejecutar sentencias SQL que no son
estándar.

Actividad 3
Investigar la forma en la cual es posible ejecutar stored procedures

Taller 8
Realice una aplicación web, que tenga una interfaz gráfica que incluya un
elemento texto (input) y combo (select), para realizar un proceso de búsqueda o
filtrado de datos.

El taller debe incluir la vista, el controlador, el modelo, la ruta. Con una captura
de pantalla que permita verificar su funcionamiento.
Ing. Ignacio Albán Idrovo Descripción de los Talleres

Descripción de los Talleres

Taller # Capítulo Unidad Objetivos


1 1 1 Conocer la estructura MVC que brindan los
diferentes Frameworks actuales para realizar
aplicaciones web
2 2 2-3 Conocer cómo incluir en las diferentes
aplicaciones web el uso de librerías como
JQuery y Bootstrap, para generar
interactividad en las páginas web y una
presentación profesional.
3 3 3-4 Conocer cómo generar una aplicación web
que incluya las librerías antes mencionadas,
pero aplicándolo al uso de Laravel
4 4 5 Creación de vistas dinámicas utilizando el
Framework de Laravel y Blade, junto con el
uso de Ajax.
5 5 5 Creación de Controladores para generar
aplicaciones web que permitan dar
funcionamiento a las diferentes aplicaciones
web
6 6 5 Conocer las diferentes las diferentes formas
en las cuales se pueden usar los ruteadores
en el funcionamiento de las aplicaciones
web.
7 7 5 Conocer las formas en las cuales es posible
crear y procesar formularios para de ésta
forma crear aplicaciones web de calidad.
8 8 6 Utilización de modelos en la creación de
aplicaciones web que necesiten tener
interacción con bases de datos.

También podría gustarte