Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Laravel - Documento

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

LARAVEL

Curso : Algoritmos y entornos de programación


Docente : Alberto Yopla Mercado
Alumnos : Juan Eduardo López Jorge
Salvador Pachas Cueto
Abner Andy Arévalo Bracamonte
Introducción

Laravel es un framework joven con un gran futuro. Cuenta con una comunidad llena de energía,
documentación atractiva de contenido claro y completo; y, además, ofrece las funcionalidades
necesarias para desarrollar aplicaciones modernas de manera fácil y segura. En el 2011 su creador,
Taylor Otwell, lo mostró por primera vez al mundo. Por lo tanto, se trata de un framework con un
enfoque fresco y moderno; ya que es bastante joven. Está hecho para arquitectura MVC y resuelve
necesidades actuales como manejo de eventos y autenticación de usuarios. Además, cuenta con un
código modular y extensible por medio de un administrador de paquetes y un soporte robusto para
manejo de bases de datos. En el presente trabajo hablaremos sobre las razones que hacen que
Laravel sea el mejor framework de PHP al día de hoy.
¿Qué es PHP y para qué sirve?

PHP es un lenguaje de código abierto muy popular, adecuado para


desarrollo web y que puede ser incrustado en HTML. Es popular porque
un gran número de páginas y portales web están creadas con PHP.
Código abierto significa que es de uso libre y gratuito para todos los
programadores que quieran usarlo. Incrustado en HTML significa que en un mismo archivo vamos a
poder combinar código PHP con código HTML, siguiendo unas reglas.

PHP se utiliza para generar páginas web dinámicas. Recordar que llamamos página estática a aquella
cuyos contenidos permanecen siempre igual, mientras que llamamos páginas dinámicas a aquellas
cuyo contenido no es el mismo siempre. Por ejemplo, los contenidos pueden cambiar en base a los
cambios que haya en una base de datos, de búsquedas o aportaciones de los usuarios, etc.

¿Cómo trabaja PHP?

El lenguaje PHP se procesa en servidores, que son potentes ordenadores con un software y hardware
especial. Cuando se escribe una dirección tipo http://www.aprenderaprogramar.com/index.php en un
navegador web como Internet Explorer, Firefox o Chrome, ¿qué ocurre? Se envían los datos de la
solicitud al servidor que los procesa, reúne los datos (por eso decimos que es un proceso dinámico) y
el servidor lo que devuelve es una página HTML como si fuera estática.

El esquema es: Petición de página web al servidor. El servidor recibe la petición, reúne la información
necesaria consultando a bases de datos o a otras páginas webs, otros servidores, etc. El servidor
responde enviando una página web “normal” (estática) pero cuya creación ha sido dinámica (realizando
procesos de modo que la página web devuelta no siempre es igual).

Como podrás comprobar el contenido del archivo incluye código HTML y en un momento dado aparece
una etiqueta <?php que significa que ahí empieza el código PHP. Por eso decimos que el código PHP
está embebido (incluido o incrustado) en código HTML.

Por tanto, las páginas PHP contienen HTML con código PHP incluido en ellas para hacer "algo" (en
este caso, mostrar Bienvenidos a aprenderaprogramar.com. El código PHP está comprendido entre
etiquetas de comienzo y final especiales: <?php y ?>

Estas etiquetas especiales nos permitirán entrar y salir del "modo PHP". Le sirven al servidor web para
saber que tiene que interpretar el código incluido entre esas etiquetas como PHP.
¿Qué es un framework?

Un framework, entorno de trabajo o marco de trabajo es un conjunto estandarizado de conceptos,


prácticas y criterios para enfocar un tipo de problemática particular que sirve como referencia, para
enfrentar y resolver nuevos problemas de índole similar.

En el desarrollo de software, un entorno de trabajo es una estructura conceptual y tecnológica de


asistencia definida, normalmente, con artefactos o módulos concretos de software, que puede servir
de base para la organización y desarrollo de software. Típicamente, puede incluir soporte de
programas, bibliotecas, y un lenguaje interpretado, entre otras herramientas, para así ayudar a
desarrollar y unir los diferentes componentes de un proyecto.

Representa una arquitectura de software que modela las relaciones generales de las entidades del
dominio, y provee una estructura y una especial metodología de trabajo, la cual extiende o utiliza las
aplicaciones del dominio.

Siendo muy simple, es un esquema (un esqueleto, un patrón) para el desarrollo y/o la implementación
de una aplicación. Sí, es una definición muy genérica, pero también puede serlo un framework: sin ir
más lejos, el paradigma MVC (Model-View-Controller) dice poco más que “separa en tu aplicación la
gestión de los datos, las operaciones, y la presentación”. En el otro extremo, otros frameworks pueden
llegar al detalle de definir los nombres de ficheros, su estructura, las convenciones de programación,
etc.

¿Qué ventajas tiene utilizar un Framework?

 El programador no necesita plantearse una estructura global de la aplicación, sino que


el framework le proporciona un esqueleto que hay que “rellenar”.
 Facilita la colaboración. Cualquiera que haya tenido que “pelearse” con el código fuente de
otro programador (¡o incluso con el propio, pasado algún tiempo!) sabrá lo difícil que es
entenderlo y modificarlo; por tanto, todo lo que sea definir y estandarizar va a ahorrar tiempo y
trabajo a los desarrollos colaborativos.
 Es más fácil encontrar herramientas (utilidades, librerías) adaptadas al framework concreto
para facilitar el desarrollo
¿Que es Laravel?

Laravel es un framework de código abierto para desarrollar


aplicaciones y servicios web con PHP 5 y PHP 7. Su filosofía
es desarrollar código PHP de forma elegante y simple,
evitando el "código espagueti". Fue creado en 2011 y tiene
una gran influencia de frameworks como Ruby on
Rails, Sinatra y ASP.NET MVC.

Laravel nos permite desarrollar de una mejor forma, y sobre


todo de una manera estándar en donde cualquier otro
desarrollador que conozca Laravel pueda colaborar en
nuestros proyectos.

Visión general

Laravel tiene como objetivo ser un framework que permita el uso de una sintaxis elegante y expresiva
para crear código de forma sencilla y permitiendo multitud de funcionalidades. Intenta aprovechar lo
mejor de otros frameworks y aprovechar las características de las últimas versiones de PHP.

Gran parte de Laravel está formado por dependencias, especialmente de Symfony, esto implica que el
desarrollo de Laravel dependa también del desarrollo de sus dependencias.

Características

 Sistema de ruteo, también RESTful


 Blade, Motor de plantillas
 Peticiones Fluent
 Eloquent ORM
 Basado en Composer
 Soporte para el caché
 Soporte para MVC
 Usa componentes de Symfony
 Adopta las especificaciones PSR-2 y PSR-4
 Posee un poderoso conjunto de librerías.
 Autenticación simple.
¿Qué es y para qué sirve Composer?

Composer es un gestor de dependencias en proyectos, para programación en PHP. Eso quiere decir
que nos permite gestionar (declarar, descargar y mantener actualizados) los paquetes de software en
los que se basa nuestro proyecto PHP. Se ha convertido en una herramienta de cabecera para
cualquier desarrollador en este lenguaje que aprecie su tiempo y el desarrollo ágil.

¿Por qué un gestor de dependencias?

Cuando comienzas un proyecto en PHP, ya de cierta complejidad, no te vale solo con la librería de
funciones nativa de PHP. Generalmente todos usamos alguna que otra librería de terceros
desarrolladores, que nos permite evitar empezar todo desde cero. Ya sea un framework o algo más
acotado como un sistema para debug o envío de email, validación de formularios, etc., cualquier cosa
que puedas necesitar ya está creada por otros desarrolladores. Si no la estás usando ninguna librería
posiblemente estés perdiendo tu precioso tiempo, pero eso es otra discusión.

Cómo funciona Composer

Composer nos permite declarar las librerías que queremos usar en un proyecto. Su uso es
extremadamente simple, lo que anima a cualquier persona a usarlo, sea cual sea su nivel técnico.

Para beneficiarnos del workflow que nos propone Composer simplemente tenemos que escribir un
archivo de configuración en el que indicamos qué paquetes vamos a requerir. El archivo es un simple
JSON en el que indicamos cosas como el autor del proyecto, las dependencias, etc.

El archivo JSON debe tener un nombre específico: composer.json

A continuación, tienes un ejemplo de JSON donde declaramos varios parámetros de nuestra


aplicación.

"name": "desarrolloweb/probando-composer",

"require": {

"phpmailer/phpmailer": "5.2.*",

Luego nos pondremos a desgranar este código para que se entienda cada una de sus partes, así como
veremos qué otra información podemos colocar en este JSON. La idea es ver lo sencillo que es declarar
qué librerías o software estás utilizando y con ello dejar nuestro proyecto listo para la "magia" de
Composer. Una vez tenemos definidas las dependencias en nuestro proyecto debemos instalarlas.
Esto lo conseguimos con un simple comando en el terminal en el que le pedimos a Composer que las
instale: composer install.
Modelo–vista–controlador (MVC)

MVC es un patrón de arquitectura de software, que separa los datos y la lógica de negocio de una
aplicación de su representación y el módulo encargado de gestionar los eventos y las comunicaciones.
Para ello MVC propone la construcción de tres componentes distintos que son el modelo, la vista y
el controlador, es decir, por un lado define componentes para la representación de la información, y
por otro lado para la interacción del usuario. Este patrón de arquitectura de software se basa en las
ideas de reutilización de código y la separación de conceptos, características que buscan facilitar la
tarea de desarrollo de aplicaciones y su posterior mantenimiento.

Descripción del patrón

De manera genérica, los componentes de MVC se podrían definir como sigue:

 El Modelo: Es la representación de la información con la cual el sistema opera, por lo tanto


gestiona todos los accesos a dicha información, tanto consultas como actualizaciones,
implementando también los privilegios de acceso que se hayan descrito en las
especificaciones de la aplicación (lógica de negocio). Envía a la 'vista' aquella parte de la
información que en cada momento se le solicita para que sea mostrada (típicamente a un
usuario). Las peticiones de acceso o manipulación de información llegan al 'modelo' a través
del 'controlador'.

 El Controlador: Responde a eventos (usualmente acciones del usuario) e invoca peticiones


al 'modelo' cuando se hace alguna solicitud sobre la información (por ejemplo, editar un
documento o un registro en una base de datos). También puede enviar comandos a su 'vista'
asociada si se solicita un cambio en la forma en que se presenta el 'modelo' (por ejemplo,
desplazamiento o scroll por un documento o por los diferentes registros de una base de datos),
por tanto se podría decir que el 'controlador' hace de intermediario entre la 'vista' y el 'modelo'
(véase Middleware).

 La Vista: Presenta el 'modelo' (información y lógica de negocio) en un formato adecuado para


interactuar (usualmente la interfaz de usuario), por tanto requiere de dicho 'modelo' la
información que debe representar como salida.
¿Qué es un ORM?

Object-Relational mapping, o lo que es lo mismo, mapeo de objeto-relacional, es un modelo de


programación que consiste en la transformación de las tablas de una base de datos, en una serie de
entidades que simplifiquen las tareas básicas de acceso a los datos para el programador.

Aunque el lenguaje SQL se usa para acceder a muchas de las bases de datos existentes, existen
múltiples varianzas en las funciones que los distintos SGBD han usado. Un ejemplo muy sencillo sería
delimitar el número de registros de una consulta:

Tres de las bases de datos más importantes, y como se observa, para algo tan fácil vemos diferencias.
Esto para el programador supone tener que conocer el lenguaje para cada Base de datos, y más
importante aún, si en un futuro se desea migrar la aplicación, habría que reescribir gran número de las
consultas.

Esto el ORM al tener una capa intermedia, abstrae al programador de la base de datos y le centra en
el desarrollo de la aplicación. En resumen, funciona como una solución intermedia que elimina la
brecha entre el manejo del lenguaje orientado a objetos y la base de datos relacional, facilitando la
tarea del programador y logrando que el acceso a los datos sea automático.

Otro punto importante es la facilidad de trabajo, un ORM, nos facilita las labores básicas de cualquier
acceso a datos, el CRUD (Create, Read, Update y Delete). Realizando todas estas labores a través de
un lenguaje de alto nivel orientado a objetos

Eloquent es el ORM que incluye Laravel para manejar de una forma fácil y sencilla los procesos
correspondientes al manejo de bases de datos en nuestro proyecto, gracias a las funciones que provee
podremos realizar complejas consultas y peticiones de base de datos sin escribir una sola línea de
código SQL.
Ventajas de Laravel

Algunas de las ventajas de Laravel son las siguiente:

 La documentación existente es sencilla y muy completa, sobre todo en el sitio oficial.


 Laravel tiene una comunidad extremadamente activa y en continuo crecimiento.
 Laravel es un framework de código abierto
 Reducción de costos y tiempos en el desarrollo y mantenimiento

 Facilita el manejo de ruteo de nuestra aplicación como así también la generación de url
amigables y control de enlaces auto–actualizables lo que hace más fácil el mantenimiento de
un sitio web.
 Flexible y adaptable no solo al MVC Tradicional (Modelo vista controlador) sino que para
reducir código propone usar “Routes with clousures”
 También cuenta con una herramienta de interfaces de líneas de comando llamada Artisan que
me permite programar tareas programadas como por ejemplo ejecutar migraciones, pruebas
programadas, etc

Desventajas de Laravel

 La curva inicial de aprendizaje puede ser compleja si no has utilizado un framework o no


manejas bien el lenguaje.
 Debes acostumbrarte a utilizar la consola para realizar ciertas funciones. Conocerás
Composer, el administrador de dependencias de PHP y Artisan de Laravel
 Está pensado para las últimas versiones de PHP y solo soporta a partir de PHP 5.4
 La instalación se hace mediante Composer, no es tan fácil como CodeIgniter
 La principal desventaja que notamos cuando comenzamos a utilizarlo fue su fuerte orientación
hacia la programación estática (usa una abusiva cantidad de clases y métodos estáticos).

Formas de trabajo en Laravel

Una de las formas de trabajo de LARAVEL son las Rutas o mejor dicho [End Points] que es un archivo
php llamado routes.php en el que varios desarrolladores pueden trabajar (a la vez)

 Rutas Visibles para todos (website)


 Rutas visibles sólo para usuarios anónimos (guest).
 Rutas visibles sólo para usuarios conectados (auth o user)
 Rutas sólo disponibles dependiendo del rol del usuario, por ejemplo sólo para administradores
(admin).
Comparación con otros frameworks
Primeros pasos con Laravel

Requisitos del servidor

El framework Laravel tiene algunos requisitos del sistema. Todos estos requisitos son cubiertos por la
máquina virtual Laravel Homestead, así que es altamente recomendable que uses Homestead como
tu entorno local de desarrollo de Laravel.

Sin embargo, si no estás utilizando Homestead, deberás asegurarte de que tu servidor cumpla con los
siguientes requisitos:

 PHP >= 7.2.0


 BCMath PHP Extension
 Ctype PHP Extension
 JSON PHP Extension
 Mbstring PHP Extension
 Extensión OpenSSL de PHP
 Extensión PDO de PHP
 Extensión Tokenizer de PHP
 Extensión XML de PHP

Instalar Laravel

Laravel utiliza Composer para administrar sus dependencias. Por lo que, antes de utilizar Laravel,
deberás asegurarte de tener Composer instalado en tu sistema.

Existe muchas formas de instalar Laravel, las cuales se mencionan a continuación:

 Mediante el instalador de Laravel

Primero, descarga el instalador de Laravel usando Composer:

Asegurate de colocar el directorio vendor/bin en tu $PATH para que el ejecutable de Laravel


pueda ser localizado en tu sistema. Este directorio existe en diferentes ubicaciones según el
sistema operativo que estés utilizando; sin embargo, algunas de las ubicaciones más comunes
son las siguientes:

o macOS: $HOME/.composer/vendor/bin
o GNU / Distribuciones Linux: $HOME/.config/composer/vendor/bin
o Windows: %USERPROFILE%\AppData\Roaming\Composer\vendor\bin

Una vez instalado, el comando laravel new creará una nueva instalación de Laravel en el
directorio que especifiques. Por ejemplo, laravel new blog creará un directorio blog que
contendrá una nueva instalación de Laravel con todas las dependiencias de Laravel ya
instaladas:

 Mediante composer create-project

Alternativamente, también puedes instalar Laravel ejecutando el comando de Composer


create-project en tu terminal:

Servidor de desarrollo local

Si tienes instalado PHP de manera local y te gustaría utilizar el servidor de desarrollo incorporado en
PHP para servir tu aplicación, puedes usar el comando de Artisan serve. Este comando iniciará un
servidor de desarrollo en http://localhost:8000

Conclusiones

 Considerar un framework mejor que otro es algo muy complicado.


 La Mejor opción es teniendo en cuenta las características de cada uno y el tipo de proyecto,
escogiendo el más adecuado.
 Si queremos algo fácil de aprender, eso es Laravel.
Bibliografía

¿Qué es el ORM? (2018). En Neoattack. Recuperado de: https://neoattack.com/neowiki/orm/

Aprende a usar Eloquent el ORM de Laravel (15 de mayo del 2015). En Styde. Recuperado de:
https://styde.net/aprende-a-usar-eloquent-el-orm-de-laravel/

Pros y contras de los frameworks PHP más populares (2018). En Programación.net. Recuperado de:
https://programacion.net/articulo/pros_y_contras_de_los_frameworks_php_mas_populares_1
122

Documentación oficial Laravel (2019) En Laravel. Recuperado de: https://laravel.com/

Composer, el gestor de dependencias de PHP (2019) En Styde. Recuperado de:


https://styde.net/composer-manejador-paquetes-php/

Concepto de framework (2018) En Neo Wiki. Recuperado de:


https://neoattack.com/neowiki/framework/

También podría gustarte