ces INTRODUCCION A LARAVEL
La comunidad detras de Laravel
Al haber sido adoptado por un gran ntimero de desarrolladores,
existen muchos portales con informacion, documentaci6n, librerias,
videos y tutoriales en los cuales podemos buscar apoyo a la hora de
trabajar con Laravel. La mayoria de los portales oficiales se encuentran
en inglés, pero también podemos encontrar mucha informacién
extraoficial en espajiol. Entre los portales, destacamos los siguientes:
> https://laravel.io: portal oficial de la comunidad de
desarrolladores Laravel, el cual integra los demas portales de la
comunidad.
> https://laravel-news.com: sitio web dedicado a noticias sobre
Laravel.
> https://laracasts.com: portal con videotutoriales.
> http://laravel-tricks.com: este portal contiene pequenas
porciones de cédigo fuente para realizar trucos sencillos y ttiles
con Laravel.
> https://larachat.co: a través de Slack, un sistema de chat con
diversas funcionalidades, se administran diferentes espacios para
conversar sobre el framework.
> https://www.meetup.com/es/topics/laravel: permite encontrar
grupos de personas que trabajen con Laravel a partir de una
ubicacion geografica.
> https://larajobs.com: tiltimo en la lista, pero no por eso menos
importante, LaraJobs es el sistema de clasificados online dedicado
por completo a la busqueda de desarrolladores Laravel
Cédigo espagueti
El cédigo espagueti hace referencia a los sistemas que tienen una estructura compleja e
incomprensible, una practica muy mal vista en el mercado. Es comin de ver en proyectos
PHP, ya que el lenguaje, en sus origenes, carecia de caracteristicas que permitiesen crear
estructuras simples, solidas y elegantes. Gracias a la evoluci6n de PHP, podemos contar
con un framework como Laravel, con cédigo més legible y expresivo.
www.redusers.com a1. CARACTERISTICAS E INSTALACION Cas
Je) 0 [ete imeviegman ao-Boanens stowme|
buscados para trabajar de forma remota,
AMBIENTE DE DESARROLLO
Existen dos formas de instalar el ambiente de desarrollo para
hacer aplicaciones con Laravel. Una de ellas es instalando todos los
componentes necesarios en nuestra maquina, y la otra es utilizando
una maquina virtual.
Mantener el cédigo simple
Como ya mencionamos, Laravel mantiene como objetivo generar cédigo simple y
elegante. Taylor Otwell, el creador de Laravel, publicé recientemente un articulo en
https://medium.com/@taylorotwell/measuring-code-complexity-64356da605f9,
donde brinda datos que nos permiten comparar la complejidad del codigo fuente de
diferentes frameworks.
www.redusers.comcasas INTRODUCCION A LARAVEL
Instalar el ambiente en nuestra maquina
Laravel nos permite crear tanto aplicaciones que puedan ser
ejecutadas por una consola como también aplicaciones web, siendo
este tiltimo el caso mas utilizado.
Para el desarrollo de aplicaciones web con Laravel es necesario
contar con lo siguiente:
Un sistema operativo que serd el contenedor principal de todas las.
herramientas tecnolégicas. Laravel funciona con varios sistemas operativos,
‘aunque la documentacién oficial y cl soporte de la comunidad estén oricntados a
sistemas basados en GNU/Linux.
Un servidor web que funcionard para exponer nuestro sitio web, tal como
Apache o Nginx.
Fl motor de PHP. La versidn 5.5 de | aravel establece la versién necesaria en
https://github.com/laravel/laravel/blob/master/composer.json#L8.
Un motor de base de datos en la cual almacenemos la informacién de nuestra
aplicacién, como MySQL 0 PostgreSQL.
A su vez, debemos contar con las
siguientes librerias habilitadas:
OpenSSL PHP Extension
PDO PHP Extension
Mbstring PHP Extension
Tokenizer PHP Extension
XML PHP Extension
vvvvy
Fs importante destacar que de tadas los.
elementos mencionados anteriormente el Figura 4.
unico que puede faltar es la base de datos, Laravel
aunque es algo poco comtin en el contexto ees
de aplicaciones web. Por otra parte, en el LAMP (Linux,
contexto de las aplicaciones de escritorio, Apache,
el servidor web no es necesario. MySQL, PHP).
www.redusers.com 231, CARACTERISTICAS E INSTALACION eS
Utilizar una maquina virtual
Las maquinas virtuales aq programas que nos permiten crear
computadoras virtuales utilizando parte de los componentes de
hardware de nuestra maquina fisica.
Homestead es una maquina virtual provista de manera oficial
por los desarrolladores de Laravel, que incluye todo el ambiente de
desarrollo junto con otros elementos de utilidad. Homestead esta
creada utilizando los siguientes componentes:
> Ubuntu 16.04 > Composer
> Git > Node (With Yarn, Bower, Grunt, and
> PHP 7.1 Gulp)
> Nginx > Redis
> MySQL > Memcached
» MariaDB » Beanstalkd
> Sqlite3 > Mailhog
> Postgres > ngrok
A lo largo del libro estudiaremos y trabajaremos con estas
herramientas, pero para utilizar Homestead primero debemos instalar
algunos programas en el sistema.
VirtualBox
Homestead es distribuida a través de diferentes sistemas de
virtualizacion, entre ellos, VirtualBox. Con VirtualBox podremos no sélo
instalar Homestead, sino también crear diferentes maquinas virtuales.
Stack de tecnologias
El diagrama de la Figura 4 tiene una forma parecida a una pila, por eso a los conjuntos.
de tecnologias se los suele denominar stack, que significa pila en inglés. En algunos
libros también aparece como bundle, que significa manojo. Un stack muy conocido es
LAMP (Linux, Apache, MySQL o MariaDB, PHP), que varia a WAMP al cambiar el sistema
operativo Linux por Windows. Otro que esté emergiendo es el stack MEAN (Mongo,
Express, Angular, NodeJs).
2 www.redusers.comINTRODUCCION A LARAVEL
ee Aa BOX EN WINDOWS
Asilidad
Es muy recomendable utilizar una maquina virtual para el desarrollo de software,
ya que si varios programadores trabajan en el mismo proyecto, se evita que cada
uno tenga que instalar todos los componentes de software, dado que las maquinas
virtuales son sumamente portables. A su vez, al utilizar todos el mismo ambiente
de trabajo, se reduce la posibilidad de que existan problemas en el entorno de un
programador en particular.
www.redusers.com a1. CARACTERISTICAS E INSTALACION aes
0 Una vez que la descarga haya fnalizado, haga doble clic sobre el archivo
adecuado y espere mientras se inicia el asistente de instalacién; seré necesario
contar con privilegios de Administrador. Haga clic en Siguiente en cada
ventana, manteniendo las opciones predeterminadas.
Adverencis de equi de Abristchive
Desea gjecutar este archive?
FEE] Nombre: -Marce\DownlondVituaBoS126- 11724 Wine
tor. Oracle Corporation
Tipe: Aplcaion
De: CUser\Marcelo\Downlods\VitulBor 5126-1172,
Becta Concer
ZPregurar siempre ates de abi ete archivo
(ee.
0. Al finalizar, podré ejecutar Virtualbox para administrar sus maquinas virtuales.
Hay dos formas de crear maquinas con VirtualBox: una es utilizando esta
interfaz, y otra mas sencilla es a través de Vagrant.
26 www.redusers.comINTRODUCCION A LARAVEL
Vagrant
Vagrant es una herramienta que Virtualbox y Vagrant
facilita la creacion y configuracion son una gran combinacion,
de maquinas virtuales estableciendo
los parAmetros de éstas de farma Pero también es posible
declarativa y en un unico archivo. utilizar otras herramientas,
Este archivo puede formar parte del como Docker
cOdigo fuente de nuestro proyecto; (www.docker.com), para
de esta manera, si trabajamos en generar ol ambiente de
grupo con varios programadores,
lograremos que todos utilicemos Heesarrolle nce
Ja misma maquina con las mismas y distribuirlo como parte
configuraciones. del proyecto.
COM Cue CA Ue DU b eA leluicy
V Vagrant
Download Vagrant
www.redusers.com a1. CARACTERISTICAS E INSTALACION ees
O Una vez que la descarga haya finalizado, haga doble clic sobre el archivo
adecuado y espere mientras se inicia el asistente de instalacion; sera necesario
contar con privilegios de Administrador. Haga clic en Siguiente en cada ventana,
manteniendo las opcionas astablecidas.
Advetenci de seguridad de Abi achive
aDeseaejecutar este archivo?
fp Manis inert 87 sr
Ftor: HashiConp Inc
Tipo: Paquet de Windows installer
De C\User\Marel\Download vagrant 187386 64msi
ecutar Concer
Ei Preyuntasenpre anes de ait este chive
ee
.—
0 3 Al finalizar el asistente, reinicie el equipo.
Bogert Setup
Youmatretat a ten te cenigaton
‘Songs mode grant otk eect Yeo
‘Canon art foo maa esta
2B www.redusers.comwas
INTRODUCCION A LARAVEL
04. Para comprobar que Vagrant se haya instalado correctamente, abra una interfaz
de linea de comando y ejecute vagrant.
Be CmODNGeTenae =o
erasofe windows [veraiG 10.0 12003
(c) 2017 Nicrosofe corporation. Todos los derechos reservados.
:\Users Warcelo>vagrant
sage: vagrant [options]
(]
vy version
my help
Print the version and exit
Print this help.
ranages botes: installation, removal, ete.
fois renotely shared Vagrant environment
traces of the vagrant nachine
Stops the vagrant machine
Shows the help for subcomand
initializer anew vagrant environment by cresting a Vagrantfile
Jog in to Washicorp's Vagrant Cloud
packages 2 running vagrant enviranment into 2 box
snages plugins: Snstall, uninstall, update, ete
Geploys cote in this environment to a configured destination
Connects to machine via Roe
restarts vagrant machine, loads new Vagrantflle configuration
esime a sutpended vagrant machine
Share your Vagrant environment with anyone dn the world
taragesapsots: sang restoring,
outputs openssh valld configuration to connect to the machine
tutputs statue of the vagrant machine
Suspends the machine
Starts and provisions the vagrant environment
prints current and’ latest Vagrant version
or nelp on any snaivsaual commana run vagrant COMM =n
ditional subcommands are available, but are either more advanced
Prot. consonly used. To see all subomands, run the comand
agra nst-Connsds"
\users\Warcelore
Configuraci6n como parte del cédigo
Es muy util, y también una practica bastante comin en la actualidad, incluir, en el
repositorio de cédigo de nuestro proyecto, los archivos necesarios para generar
el ambiente de desarrollo, Esto permite mantener sincronizado entre todos los
desarrolladores cualquier cambio requerido para ejecutar el ambiente y, por otra
parte, también sirve como punto de partida para la documentacin y generacién dela
infraestructura del proyecto.
www.redusers.com1. CARACTERISTICAS E INSTALACION
Composer
Laravel esta compuesto por muchos paquetes de codigo
provenientes de diferentes fuentes y repositorios. Para no buscar y
descargar los fuentes desde todos estos lugares, contamos con una
herramienta que lo hace por nosotros, denominada Composer; es
necesario tener instalado PHP previamente.
ay R COMPOSER EN WINDOWS
Home Geting Stated Downlead Documertaton Srowse Packages
Download Composer
Windows installer
Commanditine installation
‘reaps wm pet gc ean
rot as et ae et an an yn
Herramientas para el desarrollo
Existen herramientas que nos facilitan tareas que a veces tienen que ver con el
cédigo generado, con el soporte necesario para que nuestro software se ejecute 0
con la administraci6n de los requerimientos. Su eleccién es importante, sobre todo
cuando trabajamos en equipo, pues permiten ahorrar tiempo y optimizar el trabajo.
30 www.redusers.com