MaTI.Jonathan Giovanni Soto Muñoz
Laravel es un framework de código abierto para el desarrollo de aplicaciones web en PHP 5 que posee una sintaxis simple, expresiva y elegante.
Laravel facilita el desarrollo simplificando el trabajo con tareas comunes como la autenticación, el enrutamiendo, gestión sesiones, el almacenamiento en caché, etc
El modelo-vista-controlador o MVC es una arquitectura para desarrollo de software, caracterizada por separar el funcionamiento del software en tres partes fundamentales
XAMPP es un paquete de software libre, que consiste principalmente en el sistema de gestión de bases de datos MySQL, el servidor web Apache y los intérpretes para lenguajes de script PHP y Perl.
Composer es un sistema de gestión de paquetes para programar en PHP el cual provee los formatos estándar necesarios para manejar dependencias y librerías de PHP
Es importante saber que al implementar Laravel se generará una seria de carpetas, cada una encargada de una parte del código
Contiene el código principal de la aplicación
Contiene los archivos de configuración de la aplicación, como: base de datos, cache, correos, etc.
En esta carpeta se incluye todo sobre la definición de la base datos del proyecto
Es la única carpeta pública. Todas las peticiones y solicitudes del sitio pasan por
esta carpeta ya que contiene el archivo "index.php", que es el que inicia el proceso del framework.
En esta carpeta también se encuentran los archivos CSS, JavaScript, imagenes u otros archivos.
Esta carpeta se compone de otras 3:
Incluye el código para procesar cada llamada a nuestro sitio. Normalmente no hay que modificar esta carpeta.
En esta carpeta se almacena toda la información interna necesaria para la ejecución del sitio.
Esta carpeta se usa para las pruebas automatizadas.
En esta carpeta se alojan todas las librerías y dependencias que conforman el framework.
Ademas de la carpeta raíz hay dos ficheros relevanres
1. Todas las peticiones pasan primero por nuestro index en la carpeta public, el cual
primero comprueba el fichero de rutas.
2. Se llama al método el controlador asignado a dicha ruta.
3. El controlador llama a la vista a la vista con los datos asociados, así la vista se prepara para mostrarse
correctamente.
las rutas del sitio deben definirse en el fichero "routes/web.php". Este es el punto central para la definición de rutas, de esta forma, cualquier ruta no definida aquí no será válida, lo que regresará un error 404.
Las rutas, ademas de definir la URL de la petición, también indican el método con el que se debe hacer dicha petición.
En el ejemplo, el código se lanzaría cuando se realize una petición a la raíz del sitio. Aún con
esta ruta definida, si se hace una petición de otro tipo que no sea get, dará un error.
En este caso la sintaxis es igual, solo cambiando la palabra get por post.
La ruta apuntaria a foo/bar es decir: http://www.dirección-de-tu-web.com/foo/bar
Las rutas match permiten declarar rutas que funcionen para más de un tipo, es decir, si quisieramos
usar tipo get y tipo post sería:
Usando un array con los tipos que consideremos necesarios.
Si queremos que se acepte cualquier petición HTTP podemos usar any:
Las rutas también admiten parámetros, solo se necesita agregar el parámetros entre "{}".
En este caso en la ruta /user/{id} se producira un error.
También se puede indicar que un párametro es opcional simplemente añadiendo el simbolo ? al final.
Incluso se permite dar un valor por defecto.
Laravel permite el uso de expresiones regualres para validar los parámetros que de una ruta.
Laravel incluye una interfaz de linea de comandos llamado Artisan. Esta nos permite realizar distintas tareas
necesarias en el proceso tanto de desarrollo como al despliegue del sitio.
Si necesitamos mayor información de algún comando podemos usar la palabra "help".
Para poder un listado de todas las rutas que se definieron en el fichero "routes.php" se utiliza
el comando:
Esto nos mostrará una lista con el método, dirección, la acción y los filtros definidos de todas
las rutas definidas.
Una de las novedades que llegaron con Laravel 5 es la generación de código con Artisan. Usando el
comando "make".
Este comando nos permite generar componentes de Laravel como si fueran plantillas.
En este ejemplo se crea un nuevo controlador.
Como ya se a explicado, las vistas son la forma de presentar los resultas del sistema al usuario.
Las vistas permiten al usuario interactuar con el sitio web.
Las vistas se almacenan en la carpeta "resources/view". Estos contienen el código HTML del sitio web, mezclado con los assets (CSS,imágenes,scripts,etc) y código php.
Ejemplo de una vista:
Teniendo ya una vista tenemos que asociarla con una ruta para poder mostrarla. Para esto se debe usar el fichero "routes.php" como ya se vió antes.
En este caso estamos definiendo que la vista "home" se devuelva con una petición get a la raíz
del sitio.
El cambio más grande es el valor que regresa la función, la cuál genera la vista usando el método "view".
Esta función recibe como parámetros:
Las vistas se pueden organizar en sub-carpetas dentro de la carpeta "resources/views".
En casos como estos para referenciar las vistas dentro de estas sub-carpetas utilizamos la notacion "dot".
Por ejemplo, para la vista "resources/views/user/register.php" se cargaría de la siguiente manera:
Como ya vimos, con el método "view" podemos enviar datos a una vista, este permite recibir una segundo parámetro, que es array asociativo. En este array se pueden añadir cualquier cantidad de variables que utilicemos en la vista.
En este caso la vista "profile" recibe el "id" del usuario a travéz de la ruta
Laravel ademas permite el uso del método "with" para indicar una a una las variables o los contenidos
que queremos enviar a la vista: