Topic 6
Topic 6
Topic 6
Conociendo el Marco
Introducción
PHP también se caracteriza por ser un lenguaje mucho más dinámico que la mayoría de las
otras opciones que existen. Por tanto, es fundamental para desarrollar sitios que tengan
aplicaciones más complejas y, por ello, necesitamos agilidad en el tiempo de respuesta, además
de una conexión a una gran base de datos. Recuerda que Facebook usa PHP.
Otro gran conocido que utiliza PHP es WordPress, así como infinidad de ecommerce. Es muy
probable que puedas ver este contenido gracias a que muchos CMS, LMS y LCMS funcionan
con código PHP, pero ¿qué es Laravel?
Laravel es un framework PHP que fue creado para ayudar en un tipo de desarrollo de
aplicaciones escritas en este lenguaje. Laravel ayuda en muchas cosas a la hora de desarrollar
una aplicación a través de su sistema de paquetes y gracias a su patrón de diseño MVC (Model-
View-Controller); esto da como resultado poder "olvidarnos" de ciertas cuestiones en el
desarrollo, como instanciar clases y métodos para usarlos en muchas partes de nuestra
aplicación sin necesidad de escribirlos y repetirlos muchas veces.
Laravel tiene muchas más características que lo convierten en uno de los Framework PHP más
completos y funcionales, ya que utiliza muchas herramientas y utilidades para diferentes
propósitos. Entre muchas de sus características se encuentran las siguientes:
Inicie una aplicación Laravel: seleccione una carpeta de su elección (dentro del escritorio, mis
documentos, una nueva carpeta en su carpeta de usuario, por ejemplo , ... /Mis
Documentos/Aplicaciones Web). Dentro de la carpeta, escriba el siguiente comando:
Luego, simplemente abra la nueva carpeta para acceder al contenido del proyecto.
Explicación
Directorios
Fíjate en la figura 1, así está ordenado el código de Laravel Framework en su versión 7. Cuando
desarrollamos un código, es muy importante tener el proyecto ordenado, ya que es muy
probable que trabajes con plugins , paquetes y necesites para saber dónde colocar o encontrar
todo lo que agregas y usas.
Figura 1: directorios de Laravel.
Aplicación
Oreja
configuración
Base de datos
Público
Recursos
Inicialmente, Resources almacena las vistas, que son archivos .blade.php, los archivos de
estilos y scripts y los complementos de idioma. Es muy similar al público, pero la diferencia es
que estos archivos están precompilados, es decir, son las fuentes.
Si está buscando integrar marcos javascript o css, como preprocesadores como sass, less o
stylus, este es el directorio para hacerlo.
Rutas
Almacenamiento
Prueba
Proveedor
Archivos en la raíz
Enrutamiento
Artisan es la interfaz de línea de comandos incluida con Laravel. Proporciona varios comandos
útiles que pueden ayudarle a crear su aplicación. Para ver una lista de todos los comandos de
Artisan disponibles, puede usar el comando de lista:
Además, cada comando incluye una pantalla de "ayuda", que muestra y describe los
argumentos y opciones disponibles. Para ver una pantalla de ayuda, coloque ayuda antes del
nombre del comando:
Tinker REPL
Este entorno ofrece muchas ventajas, como ejecutar fácilmente pruebas sencillas en el sistema
sin tener que escribir archivos constantemente.
Todas las aplicaciones de Laravel incluyen Tinker por defecto. Sin embargo, si es necesario,
puedes instalarlo manualmente usando Composer:
Tinker te permite interactuar con toda tu aplicación Laravel en la línea de comando, incluido
Eloquent ORM, trabajos, eventos y más. Para ingresar al entorno Tinker, ejecute el comando
Artisan Tinker:
MVC (modelo, vista, controlador) es un patrón arquitectónico de software que separa una
aplicación en tres capas descritas, como indica su sigla. Laravel, así como la mayoría de los
marcos PHP, implementa este patrón de diseño donde cada capa maneja un aspecto de la
aplicación.
Antes de ver cómo está diseñado Laravel para implementar este patrón de software, exploremos
un poco más este concepto, definiendo cada una de sus partes:
MVC en Laravel
<? PHP
espacio de nombres App\Http\Controllers;
utilice Illuminate\Http\Request;
clase HelloWorld extiende el controlador
{
//
}
Nada impide que tú mismo crees el controlador, pero Laravel proporciona las herramientas
necesarias para hacerlo, por lo que se recomienda hacerlo desde Artisan. Como puede ver, este
comando creó un controlador que hereda directamente de la clase App\Http\Controllers de
Laravel . Para que nuestro controlador sea funcional vamos a agregar un método reemplazando
las diagonales (que, por cierto, son caracteres con los que podemos comentar código):
clase HolaMundo extiende Controlador
{
función pública decirHola()
{
return view('hola');
}
}
Los métodos de los controladores de Laravel suelen devolver matrices, objetos o vistas. En este
caso, hemos utilizado la vista auxiliar para devolver la vista de saludo , que crearemos a
continuación, manualmente, creando el archivo hello.blade.php dentro de la carpeta
recursos/vistas :
Su contenido puede ser el siguiente, pero puedes sustituirlo por el contenido de tu elección:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta nombre ="viewport" content="ancho=ancho-dispositivo, escala-inicial=1.0">
<title>¡Hola mundo!</title>
</head>
<body>
<h1>¡Hola mundo!</h1>
</body >
</html>
Para iniciar nuestro proyecto simplemente ejecute el siguiente comando en la consola (en la
raíz del proyecto):
<? PHP
aplicación de espacio de nombres;
utilice Illuminate\Database\Eloquent\Model;
clase Hola extiende el modelo
{
//
}
Después de esto, agregaremos el siguiente método a nuestro modelo para devolver el saludo:
Luego haremos el siguiente ajuste en el controlador para enviar el mensaje del modelo a la
vista:
<? PHP
espacio de nombres App\Http\Controllers;
utilice Illuminate\Http\Request;
utilizar Aplicación\Hola; // Es muy importante importar el modelo aquí
class HelloWorld extends Controller
{
public function sayHello()
{
return view('hello', ["message" => Hello::helloWorldMessage()]);
}
}
Finalmente realizaremos el siguiente ajuste en la vista para imprimir el mensaje enviado por el
controlador:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta nombre ="viewport" content="ancho=ancho-dispositivo, escala-inicial=1.0">
<title>¡Hola mundo!</title>
</head>
<body>
<h1>{{ $message }}</h1>
</cuerpo>
</html>
Conclusión
Una de las mejores prácticas que puedes tener, como desarrollador de software, es revisar
constantemente la documentación oficial. Laravel es un framework muy potente y dinámico
que se actualiza constantemente. Para este curso estamos usando la versión 7, pero la forma de
manejar rutas y algunos componentes cambia drásticamente desde la versión 8.
Control
Asegúrate de que:
Recursos adicionales
Vídeos
Lecturas
Actividad 6
Descripción
El estudiante interactuará con la consola de comando de Artisan.
Objetivo
Requisitos:
Computadora con acceso a Internet, tenga instalado XAMPP, o WAMP, MAMP, LAMP o
Laragon Stack.
Instrucciones
Primero, cree un nuevo proyecto en Laravel 7, Laragon o cualquiera de las pilas mencionadas
anteriormente con el nombre "actividad-6" y haga lo siguiente:
Parte 1:
Explica cada punto y la utilidad de cada uno de estos comandos con tus propias palabras.
Integrar la información de un documento en formato Informe .
Parte 2:
a. Crearás un modelo llamado Producto junto con su migración y controlador (debe ser
un controlador de recursos).
b. Cree una carpeta dentro de recursos/vistas llamada productos , dentro de esa carpeta
cree los siguientes archivos:
o Un archivo llamado blade.php . Coloque dentro del archivo una etiqueta de
título html con el texto "Vista del producto".
o Un archivo llamado blade.php . Coloca dentro del archivo una etiqueta html de
tipo título y con el texto "Edición de Producto".
o Un archivo llamado blade.php . Coloca dentro del archivo una etiqueta html de
tipo título y con el texto "Creación de Nuevo Producto".
c. Inicializa un repositorio Git en tu proyecto y súbelo a GitHub, crea tu confirmación
con la etiqueta "Productos base".
d. Modifica tu archivo README.md colocando solo el título de la actividad.
Entregables
Criterios de evaluación
Tarea 5
Instrucciones
Investiga todo lo que necesitas saber sobre las rutas en Laravel 7, luego haz lo siguiente:
Entregables