Laravel - Documento
Laravel - Documento
Laravel - Documento
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 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.
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?
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.
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
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.
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.
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.
"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.
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
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
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)
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:
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.
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:
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
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