Topic 6

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 11

Tema 6.

Conociendo el Marco

Introducción

PHP es un lenguaje de programación destinado a desarrollar aplicaciones web y crear páginas


web; favoreciendo así la conexión entre los servidores y la interfaz de usuario. PHP es de
código abierto; esto significa que cualquiera puede realizar cambios en su estructura.

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:

 Su motor de plantillas Blade.


 Arquitectura MVC.
 ORM elocuente.
 En términos de seguridad, ofrece mecanismos hash y salt para el cifrado a través de
bibliotecas como BCrypt.
 Consola de mando artesanal.
 Bibliotecas y modularidad.
 Fácil gestión con bases de datos y migración.

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:

 >compositor crear-proyecto --prefer-dist laravel/laravel test "7.*"

Luego, simplemente abra la nueva carpeta para acceder al contenido del proyecto.

Explicación

6.1. Directorios y enrutamiento

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.

Haga clic en cada botón para obtener más información.

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

6.2. Consola artesanal

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:

 >lista de artesanos php

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:

 >php artesano ayuda a migrar

Tinker REPL

Tinker es el REPL (o shell interactivo) utilizado por Laravel. Un "ciclo de lectura-evaluación-


impresión" (REPL) es un entorno de programación que acepta entradas de un solo usuario, las
procesa y devuelve un resultado al usuario. Es posible comparar Tinker con el uso del
intérprete de Python, pero Tinker está hecho a medida para Laravel.

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:

 >el compositor requiere laravel/tinker.

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:

 >php chapucero artesanal


6.3. mvc

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:

 Modelo: Hace referencia a la estructura de datos de la aplicación. Los datos se pueden


transferir desde la base de datos, una clase, un servicio u otros, directamente a la
vista o transformarse en el controlador para actualizarlos nuevamente a la fuente.
 Vista: Es la representación de información en una interfaz de usuario. Generalmente,
en interfaces no estáticas se representan datos provenientes directamente del modelo
o se transforman en un proceso intermedio en el controlador. En las vistas estáticas,
generalmente no es necesario que las vistas se representen con datos enviados desde
el controlador.
 Controlador: Es el lugar donde se implementa la lógica de la aplicación, los
procedimientos, algoritmos y rutinas que hacen funcionar el software. Actúa como
una interfaz entre el modelo y los componentes de la vista, aplicando las
transformaciones y la lógica necesarias.

MVC en Laravel

MVC en Laravel se implementa de la siguiente manera: en una aplicación web, los


controladores se ubicarán en la carpeta app/Http/Controllers , los modelos directamente en la
aplicación y las vistas en resources/views . Para crear un nuevo controlador, simplemente
ejecute el comando:

 >php artesanal hacer :controlador HolaMundo.

Este comando creará el archivo app/Http/Controllers/HelloWorld.php con el siguiente


contenido:

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

Finalmente, agreguemos la siguiente línea en el archivo route/web.php para acceder al método


sayHello , que devolverá la vista de saludo.

Ruta ::get ('/holamundo', 'HolaMundo@sayHello');

Para iniciar nuestro proyecto simplemente ejecute el siguiente comando en la consola (en la
raíz del proyecto):

 >php servicio artesanal


Como puede ver, el servidor virtual Laravel devuelve una URL donde puede ver el proyecto en
el navegador.

Para agregar el componente del modelo , ejecutaremos el siguiente comando en la terminal:

 >php artesanal marca:modelo Hola

Esto creará el archivo app/Hello.php con el siguiente contenido:

<? 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:

clase Hola extiende Modelo


{
función estática pública helloWorldMessage()
{
return "¡HOLA MUNDO!";
}
}

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>

Finalmente, al acceder nuevamente al camino / helloworld , volveremos a ver el ¡HOLA


MUNDO! mensaje, esta vez traído directamente de nuestro modelo.

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:

 Comprender el sistema de directorios de Laravel.


 Utilice la consola Artisan.
 Consultar constantemente la documentación del framework.
 Comprenda cómo funciona Laravel con el patrón arquitectónico MVC.

Recursos adicionales

Los siguientes enlaces no pertenecen a la Universidad Tecmilenio, al acceder a ellos


deberá aceptar sus términos y condiciones.

Vídeos

 Para conocer la estructura de carpetas de las API , mire el siguiente video:


PedroTech. (2021, 13 de enero). Estructura de carpetas para API: principiante,
intermedio y avanzado [archivo de vídeo]. Obtenido de
https://www.youtube.com/watch?v=oNlMrpnUSFE
 Para obtener información sobre enrutadores y rutas , mire el siguiente video:
Steve Griffith - Prof3ssorSt3v3. (2020, 27 de enero). Express JS – Rutas de anuncios
de enrutador. [Archivo de vídeo]. Obtenido de
https://www.youtube.com/watch?v=iM_S4RczozU

 Para conocer Laravel , mira el siguiente video:


Matt Socha. (2021, 5 de octubre). Comprender los conceptos básicos de Laravel
2021 | Tutorial de Laravel | Laravel para principiantes [archivo de vídeo]. Obtenido
de https://www.youtube.com/watch?v=AEVhR-hD2Wk

Lecturas

 Para conocer más sobre Directorios y enrutamiento , recomendamos leer:


Nitish, J. (2020). Enrutamiento de contenido asistido por directorio en redes
centradas en la información (tesis doctoral). Universidad de California, Santa Cruz.
Obtenido de
https://www.proquest.com/openview/805433140ab933e705df78b77be66fe7/1?cbl=4
4156&pq-
origsite=gscholar&parentSessionId=Kp5Y4VGMuvi1y3nOdHSOrT3uuwMtJfe6jNP
XBwjFfc0%3D

 Para obtener más información sobre el enrutamiento , recomendamos leer:


Deokate, B., Lal, C., Trček, D. y Conti, M. (2019). Enrutamiento entre capas
consciente de la movilidad para redes peer-to-peer . Computación e ingeniería
eléctrica , 73 , 209-226. Obtenido de
https://www.sciencedirect.com/science/article/pii/S0045790618315957

 Para conocer más sobre Laravel , recomendamos leer:


Tutorialspoint. (2022). Tutorial de Laravel . Obtenido de
https://www.tutorialspoint.com/laravel/index.htm

Actividad 6

Descripción
El estudiante interactuará con la consola de comando de Artisan.

Objetivo

Para obtener más información sobre la consola de comandos de Artisan.

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:

En la raíz de su proyecto "actividad-6", abrirá una terminal.

Con la ayuda de la consola de comandos de Artisan, investigarás lo siguiente:

a. El comando para generar una clave de aplicación.


b. El comando para generar un servidor de desarrollo local.
c. El comando para crear un enlace simbólico para la carpeta Almacenamiento.
d. El comando para crear un modelo llamado
e. El comando para crear un controlador para el modelo Producto y con qué comando
crear un controlador de recursos.
f.El comando para crear una migración para el modelo de Producto.
g. El comando para crear una sembradora para el modelo de Producto.
h. El comando para crear una fábrica para el modelo de Producto.
i. El comando para enumerar los
j. El comando para ejecutar migraciones, deshacer una migración, actualizar migraciones
y ejecutar migraciones con

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:

Con la ayuda de la terminal de comandos de Artisan, en la raíz de tu proyecto harás lo


siguiente:

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.

Copie la URL de su repositorio de la actividad e intégrela en el documento de informe que


desarrolló en la primera parte de la actividad.

Entregables

Un documento de memoria que incluya el contenido de la actividad.

Criterios de evaluación

 Documentación solicitada en la primera parte de la actividad.


 Enlace al repositorio de GitHub con los archivos solicitados.

Tarea 5

Instrucciones

Investiga todo lo que necesitas saber sobre las rutas en Laravel 7, luego haz lo siguiente:

1. Primero, cree las rutas necesarias en route/web y modifique su controlador de


recursos para devolver las vistas:
o index() devolverá la vista index.blade.php
o edit() devolverá la vista edit.blade.php
o create() devolverá la vista create.blade.php
2. A continuación, actualizará la vista de índice:
o Agregue un botón "Agregar producto" que, cuando se presione, mostrará la
creación
3. La vista de edición no se mostrará, solo permanecerá su ruta y función en el
controlador.
4. Finalmente, actualizará los cambios con git y cargará una confirmación llamada
"tarea 5" a su repositorio.

Entregables

Resultados subidos en el apartado correspondiente.

También podría gustarte