Está en la página 1de 7

 

Introducción
¿Qué es Laravel?
Laravel es un framework de código abierto para el desarrollo de aplicaciones web en
PHP 5que posee una sintaxis simple, expresiva y elegante. Fue creado en 2011 por
Taylor Otwell,inspirándose en Ruby on Rails y Symfony, de los cuales ha adoptado sus
principalesventajas.Laravel facilita el desarrollo simplificando el trabajo con tareas
comunes como laautenticación, el enrutamiendo, gestión sesiones, el almacenamiento
en caché, etc. Algunasde las principales características y ventajas de Laravel son:Esta
diseñado para desarrollar bajo el patrón MVC (modelo - vista - controlador),centrándose
en la correcta separación y modularización del código. Lo que facilita eltrabajo en
equipo, así como la claridad, el mantenimiento y la reutilización del código.Integra un
sistema ORM de mapeado de datos relacional llamado Eloquent aunquetambién permite
la construcción de consultas directas a base de datos mediante su Query Builder 
Permite la gestión de bases de datos y la manipulación de tablas desde
código,manteniendo un control de versiones de las mismas mediante su sistema de
Migraciones
Utiliza un sistema de plantillas para las vistas llamado Blade, el cual hace uso de
lacache para darle mayor velocidad. Blade facilita la creación de vistas mediante el
usode layouts, herencia y secciones.
Facilita la extensión de funcionalidad mediante paquetes o librerías externas. De
estaforma es muy sencillo añadir paquetes que nos faciliten el desarrollo de una
aplicacióny nos ahorren mucho tiempo de programación.
Incorpora un intérprete de línea de comandos llamado Artisan que nos ayudará con un
montón de tareas rutinarias como la creación de distintos componentes de código,
trabajo con la base de datos y migraciones, gestión de rutas, cachés, colas, tareas

COMPOSER, UN GESTOR DE DEPENDENCIAS PARA PROYECTOS EN PHP

A la hora de empezar el desarrollo de un proyecto en PHP, es necesario conocer todas


las librerías que necesitaremos. La instalación de estas librerías puede ser una tarea
complicada y tediosa si lo hacemos a mano, pero por suerte existen gestores de
dependencias que se encargan de realizarla de forma automática, gestionando esas
librerías de terceros de forma sencilla y eficaz. En este hablaremos sobre qué es
Composer, cómo funciona y cómo instalarlo en tu sistema. Mucha gente suele asociar a
Composer la categoría de framework, lo cual es erróneo. Esto es debido a que por
medio de él se puede poner en marcha la configuración de un entorno de desarrollo
basado en Symfony. Composer se encargaría de realizar la instalación de todas las
dependencias necesarias para que Symfony pudiera trabajar de forma correcta. Hemos
puesto el ejemplo de Symfony pero también puede ser aplicado a cualquier otro
framework.
¿Qué es un gestor de dependencias?
A la hora de hacer un desarrollo pequeño utilizando PHP, en muchos casos nos es
suficiente con las funciones nativas que incluye el propio lenguaje, pero esto no ocurre
cuando el proyecto va adquiriendo mayor envergadura. En estos casos todos los
desarrolladores hacen uso de alguna librería de terceras personas para realizar algún tipo
de función, por ejemplo, a la hora de enviar un email autentificado se puede utilizar la
librería PHPMailer o generar un archivo XLS con la librería PHPExcel. Cualquier cosa
que necesites puede estar ya creada por otros desarrolladores, lo que ayuda a acotar los
tiempos de desarrollo del proyecto. Si eres de los que utiliza este tipo de librerías en
vuestros desarrollos, al empezar el proyecto debes acudir a la página web oficial de cada
una de ellas para descargarlos y copiarlas en vuestro proyecto para empezar a utilizarlas.
Esto mismo habría que hacer si el desarrollador lanza una nueva versión de ese
código. Si son una o dos librerías, el tiempo empleado para este tipo de mantenimiento
no es mucho, pero si se hace uso de muchas, o de un framework como Symfony que
utiliza a su vez muchas otras funcionalidades externas a él, el proceso de instalación y
mantenimiento sí que puede ser una tarea complicada. Es aquí donde entran en acción
los gestores de dependencias, cuya principal función es la de ayudarnos a realizar las
tareas de instalación y mantenimiento de las versiones utilizadas en el proyecto de
forma automática y sin necesidad de tener que visitar sitio por sitio oficial.
Ventajas de utilizar Composer
 Entre las principales ventajas que podemos encontrar a la hora de utilizar
Composer están:
 Permite indicar exactamente la librería que necesitas y su versión
 Fomenta el uso de estándares
 Puedes utilizar paquetes PEAR
 Existe un repositorio público donde podrás encontrar librerías para cualquier tipo
de acción. Un ejemplo de esto es la web packagist.org
 Permite también el uso de repositorios privados
 Permite la definición de procedimientos o llamadas a funciones que se ejecutarán
después de realizar ciertas operaciones como actualizaciones, borrados,
instalaciones.
xampp
XAMPP es un paquete de instalación independiente de plataforma, 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. El nombre proviene
del acrónimo de X (para cualquiera de los diferentes sistemas operativos), Apache,
MariaDB, PHP, Perl. Desde la versión "5.6.15", XAMPP cambió la base de datos de
MySQL a MariaDB. El cual es un fork de MySQL con licencia GPL.
El programa se distribuye bajo la licencia GNU y actúa como un servidor web libre,
fácil
de usar y capaz de interpretar páginas dinámicas. Actualmente XAMPP está disponible
para Microsoft Windows, GNU/Linux, Solaris y Mac OS X
MariaDB
es un remplazo de MySQL con más funcionalidades y mejor rendimiento
MariaDB es un un fork de MySQL que nace bajo la licencia GPL. Esto se debe a que
Oracle compró MySQL y cambió el tipo de licencia por un privativo, aunque
mantuvieron MySQL Community Edition  bajo licencia GPL.
La compatibilidad de MariaDB con MySQL es prácticamente total
 y por si fuese poco tenemos mejoras de rendimiento y funcionalidad. MariaDB está
diseñado para reemplazar a MySQL directamente ya que mantiene las mismas órdenes,
APIs y bibliotecas.
MariaDB vs MySQL. Ventajas y desventajas de MariaDB.
Lo primero que tiene que quedar totalmente claro es que al ser MariaDB compatible con
MySQL, la migración a MariaDB es simple y directa, no hay que adaptar el código ni
nada.

Ventajas de MariaDB.

Nuevos motores de almacenamiento, para la mayoría de usuarios lo interesante es Aria,


que viene a reemplazar a MyISAM y también tenemos XtraDB que reemplaza a
InnoDB. Los nuevos motores de almacenaniemto son:

 
 Aria: Un motor de almacenamiento a prueba de fallos basado en MyISAM.
 XtraDB: El reemplazo del motor InnoDB basado en el plug-in de InnoDB.
 PBXT: Un motor de almacenamiento transaccional con una gran cantidad de
nuevas y bonitas características.
 FederatedX: El reemplazo del motor Federated.

 Mejoras de velocidad sobre todo en consultas complejas cuando se usa el motor


de almacenamiento Aria, ya que Aria cachea los datos de tablas temporales en
memoria, lo que supone un rendimiento frente al uso del disco duro (que es lo
que emplea MyISAM).
 
Se añaden nuevas tablas de sistema (INFORMATION_SCHEMA) para almacenar
estadísticas que nos pueden ayudar a optimizar las bases de datos.
El sistema para manejar las conexiones se ha mejorado, ya que implementa el sistema
pool-of-threads
de MySQL 6.0 con el que podemos tener más de 200.000 conexiones a MariaDB.
En general se han hecho muchas modificaciones para mejorar el rendimiento, velocidad
e incluso implementar características nuevas.

Lenguaje de programación php


PHP es un lenguaje para programar páginas de contenido dinámico. Este es un lenguaje
del lado del servidor, el servidor lee el lenguaje php, y manda los datos transformados
en lenguaje HTML. El lenguaje PHP se incorpora al lenguaje normal de la página
(HTML) mediante scripts. Fue creado originalmente por Rasmus Lerdorf en 1995. Se
ha ido ampliando con el tiempo, actualmente va por la versión 5, y trabaja
conjuntamente con otros programas como son la base de datos MySQL y el servidor
Apache.
Para diseñar páginas con PHP debemos saber previamente los lenguajes HTML y CSS
con los que se crean las páginas web. PHP permite realizar algunas acciones que no
pueden realizarse en una página estática: recoger datos del usuario, trabajar con bases de
datos, crear sesiones de usuarios, restringir páginas con contraseñas, creación de foros,
etc.
Normas de escritura
Al escribir el código tenemos normas similares a los lenguajes HTML, CSS o
Javascript, es decir: no se tiene en cuenta más de un espacio en blanco, los
saltos de línea o las tabulaciones. Todos ellas son consideradas como un
sólo espacio en blanco. Cada instrucción o sentencia de PHP debe acabar
por un punto y coma ( ; ). El cambio de línea no supone un cambio de
instrucción. El código Sí distingue entre mayúsculas y minúsculas,
considerando elementos distintos a una palabra en minúsculas y su
correspondiente en mayúsculas
Definición
Una variable es un elemento en el que se puede almacenar un valor o dato. Para ello
basta con asignarle a una variable un valor. En PHP todas las variables van precedidas
del signo dólar $. Este signo delante de cualquier texto indica que lo que viene detrás es
una variable.
Asignar valor a una variable
Las variables pueden guardar valores, datos, u otros elementos. Al crearlas es
conveniente asignarles un valor o dato. Esto se hace mediante el signo = (igual).
$texto = "Hola mundo"; Escribir el nombre de la variable es lo mismo que escribir su
valor o dato almacenado. En el ejemplo anterior las dos instrucciones siguientes nos
darán el mismo resultado: echo $texto; echo "Hola mundo"; Si escribimos el nombre de
una variable dentro de una cadena de texto, no veremos el nombre de la variable, sino su
valor, por ejemplo: echo "<p>$texto, bienvenido a mi página.</p>";
Dará como resultado:

Hola mundo, bienvenido a mi página

Arquitecutra de software Modelo vista controlador

Durante toda la década del setenta, SmallTalk y algunos otros lenguajes como
Simula I, fueron construyendo gradualmente el paradigma de programación
orientada a objetos y estableciendo conceptos tales como objetos, clases,
encapsulación, herencia y polimorfismo [3]. Si bien dichos lenguajes no son usados
actualmente para implementar aplicaciones comerciales, los conceptos que dejaron
en el mundo del desarrollo de software están vigentes en la actualidad y son la
base de lenguajes modernos como C++, Java o C#.

SmallTalk también fue el primer lenguaje de programación que permitió diseñar


interfaces de usuario con múltiples "ventanas" desplegadas en una misma pantalla,
concepto que después fue aplicado por GEMS, Macintosh, X11, Windows y otras
interfaces gráficas de usuario modernas. El concepto central detrás de las librerías
de interfaz de usuario provistas por SmallTalk está basado en el patrón de diseño
MVC, creado por el profesor Trygve Reenskaug [4].

MVC es un patrón de diseño que considera dividir una aplicación en tres módulos
claramente identificables y con funcionalidad bien definida: El Modelo, las Vistas y
el Controlador.

2.1.    El modelo

El modelo es un conjunto de clases que representan la información del mundo real


que el sistema debe procesar, así por ejemplo un sistema de administración de
datos climatológicos tendrá un modelo que representará la temperatura, la
humedad ambiental, el estado del tiempo esperado, etc. sin tomar en cuenta ni la
forma en la que esa información va a ser mostrada ni los mecanismos que hacen
que esos datos estén dentro del modelo, es decir, sin tener relación con ninguna
otra entidad dentro de la aplicación.

El modelo desconoce la existencia de las vistas y del controlador. Ese enfoque


suena interesante, pero en la práctica no es aplicable pues deben existir interfaces
que permitan a los módulos comunicarse entre sí, por lo que SmallTalk sugiere que
el modelo en realidad esté formado por dos submódulos: El modelo del dominio y el
modelo de la aplicación. El presente artículo utiliza la propuesta de SmallTalk por
ser la base de la implementación de la librería Swing que es vista más adelante.

Modelo del dominio

Se podría decir que el modelo del dominio (o el modelo propiamente dicho) es el


conjunto de clases que un ingeniero de software modela al analizar el problema que
desea resolver; así, pertenecerían al modelo del dominio: El cliente, la factura, la
temperatura, la hora, etc. El modelo del dominio no debería tener relación con nada
externo a la información que contiene.

Modelo de la aplicación

El modelo de la aplicación es un conjunto de clases que se relacionan con el modelo


del dominio, que tienen conocimiento de las vistas y que implementan los
mecanismos necesarios para notificar a éstas últimas sobre los cambios que se
pudieren dar en el modelo del dominio. El modelo de la aplicación es llamado
también coordinador de la aplicación.

Las vistas

Las vistas son el conjunto de clases que se encargan de mostrar al usuario la


información contenida en el modelo. Una vista está asociada a un modelo, pudiendo
existir varias vistas asociadas al mismo modelo; así, por ejemplo, se puede tener
una vista mostrando la hora del sistema como un reloj analógico y otra vista
mostrando la misma información como un reloj digital.

Una vista obtiene del modelo solamente la información que necesita para desplegar
y se actualiza cada vez que el modelo del dominio cambia por medio de
notificaciones generadas por el modelo de la aplicación.

El controlador
El controlador es un objeto que se encarga de dirigir el flujo del control de la
aplicación debido a mensajes externos, como datos introducidos por el usuario u
opciones del menú seleccionadas por él. A partir de estos mensajes, el controlador
se encarga de modificar el modelo o de abrir y cerrar vistas. El controlador tiene
acceso al modelo y a las vistas, pero las vistas y el modelo no conocen de la
existencia del controlador.

  Ventajas

Desarrollar una aplicación siguiendo este patrón de diseño tiene muchas ventajas:

 La aplicación está implementada modularmente.


 Sus vistas muestran información actualizada siempre.
 El programador no debe preocuparse de solicitar que las vistas se
actualicen, ya que este proceso es realizado automáticamente por el modelo
de la aplicación.
 Si se desea hacer una modificación al modelo del dominio, como aumentar
métodos o datos contenidos, sólo debe modificarse el modelo y las
interfaces del mismo con las vistas, no todo el mecanismo de comunicación
y de actualización entre modelos.
 Las modificaciones a las vistas no afectan en absoluto a los otros módulos
de la aplicación.
 MVC es bastante utilizado en la actualidad en marcos de aplicación
orientados a objeto desarrollados para construir aplicaciones de gran
tamaño; Java Swing, Apache Struts, Microsoft ASP.NET, las
transformaciones XSL o incluso los documentos LATEX siguen este patrón de
diseño.
 MVC está demostrando ser un patrón de diseño bien elaborado pues las
aplicaciones que lo implementan presentan una extensibilidad y una
mantenibilidad únicas comparadas con otras aplicaciones basadas en otros
patrones.

Desventajas

 El tiempo de desarrollo de una aplicación que implementa el patrón de


diseño MVC es mayor, al menos en la primera etapa, que el tiempo de
desarrollo de una aplicación que no lo implementa, ya que MVC requiere que
el programador implemente una mayor cantidad de clases que en un
entorno de desarrollo común no son necesarias. Sin embargo, esta
desventaja es muy relativa ya que posteriormente, en la etapa de
mantenimiento de la aplicación, una aplicación MVC es muchísimo más
mantenible, extensible y modificable que una aplicación que no lo
implementa.
 MVC requiere la existencia de una arquitectura inicial sobre la que se deben
construir clases e interfaces para modificar y comunicar los módulos de una
aplicación. Esta arquitectura inicial debe incluir, por lo menos: un
mecanismo de eventos para poder proporcionar las notificaciones que
genera el modelo de aplicación; una clase Modelo, otra clase Vista y una
clase Controlador genéricas que realicen todas las tareas de comunicación,
notificación y actualización que serán luego transparentes para el desarrollo
de la aplicación.
 MVC es un patrón de diseño orientado a objetos por lo que su
implementación es sumamente costosa y difícil en lenguajes que no siguen
este paradigma.

También podría gustarte