You are on page 1of 5

Serie Laravel PHP desde las Trincheras DevAcademy.

la
Captulo 0: Laravel ! "ntroducci#n y Conceptos $%sicos
&'lin(ormatico
Presentaci#n
Laravel 4 es un framework web hecho en PHP5 que fomenta el
desarrollo rpido de aplicaciones y las mejores prcticas. n esta
serie aprenderemos todo lo bsico! incluyendo el trabajo con vistas!
rutas! mi"raciones! consultas con #$%! helpers! &$'( e incluso
al"unas de las caracter)sticas ms potentes del framework. 'na
nueva etapa para PHP ha iniciado* divi+rtete cada ,iernes con +sta
serie de tutoriales! tendrs todo lo que necesitas para desarrollar
tus propias aplicaciones web y notars las horas que puedes ahorrar y aprovecharlas con
los ami"os y la familia.
"ntroducci#n
-i lle"aste aqu) despu+s de haber le)do el t)tulo! quiere decir que todav)a no has perdido
las esperan.as de encontrar un buen framework en PHP.
Pero te voy a ser sincero! yo no esco") Laravel porque me pareci/ la 0ltima joya de los
frameworks! si no porque en mi e1periencia pre2profesional en una entidad p0blica! no
pod)a implementar el desarrollo de un proyecto web con len"uajes como Python o $uby
que a manera personal era un "ran reto. -i no porque hay un "ran porcentaje que utili.a
PHP y lo peor con malas prcticas! sin P##! c/di"o no identado! no entendible! no
documentado como dicen 3a lo salvaje! que funcione4* por ello ten)a que encontrar una
alternativa en PHP! que sea mantenible! con documenaci/n clara y no caer en lo mismo
que encontr+.
ntonces ten)a que decidir y pensar en lo si"uiente5 hoy en d)a las tecnolo")as avan.an
rpido! independientemente de que tecnolo")a usemos hoy! no utili.ar un 6ramework es
reinventar la rueda cada ve. que creamos un proyecto web! sobretodo cuando tenemos
que implementar acciones comunes 7friendly 'rls! manejo de sesiones! manejo de base
de datos! etc8.
s por eso que quer)a publicar sobre Laravel para motivar a los pro"ramadores en PHP
que es un framework que viene tomando mucha fuer.a en los 0ltimos meses y con el
lan.amiento de su version 4 se posiciona como una opci/n ms que interesante para
e1plorar a comparaci/n de otros frameworks PHP que ya tienen buen tiempo 7-ymfony!
9ii! :end! &akePHP! &ode;"niter8.
Pero antes vamos a repasar o aclarar conceptos bsicos que servirn para introducirse al
mundo de Laravel! lue"o sus caracter)sticas! ya que el pr/1imo cap)tulo veremos la
instalaci/n y con<"uraci/n del entorno local 7en "nu=linu18! as) estars ms familiari.ado.
)* +u, es un -rame.or/0
6ramework es un marco de trabajo 7un esqueleto! un patr/n8 para el desarrollo y=o la
implementaci/n de una aplicaci/n! ya que nos brinda un conjunto de herramientas
7utilidades! librer)as8 adaptadas al framework concreto para facilitar el desarrollo.
>eneralmente los frameworks cuentan con comunidades de developers muy "randes
quienes brindan soporte y nos facilita la vida para concentrarnos en lo que da valor al
cliente y no volver a pro"ramar desde cero ciertos patrones que ya fueron validados.
-rame.or/s PHP
-ymfony! 9ii! :end! &akePHP! &ode;"niter 7por ahora no entrar+ en detalles de
comparaci/n8.
Por1u, aprender otros (rame.or/s.
?l"o que quiero aclarar tambi+n es que hoy en d)a es recomendable dominar @ o A
len"uajes para tener ms opciones como profesional en este apasionante mundo
del desarrollo de software! por ejemplo (jan"o! $uby on $ails! Bode.js.
23C 42odelo53ista5Controlador6
(enominado tambi+n arquitectura de A capas! es un patr/n de arquitectura de software
encar"ado de separar la l/"ica de ne"ocio de la interfa. del usuario en tres
componentes distintos y es el ms utili.ado en aplicaciones Ceb! donde la vista es la
p"ina HD%L y el c/di"o que provee de datos dinmicos a la p"ina! el modelo es la
abstracci/n de la Ease de (atos y la L/"ica de ne"ocio y el controlador es el responsable
de recibir los eventos de entrada desde la vista.
6uente5 laboraci/n Propia
Recomiendo este libro de POO y MVC:
http://eugeniabahit.blogspot.com/p/poo-y-mvc-en-php.html
Pro7ramaci#n 8rientada a 8$'etos 4P886
La P## es un paradi"ma de pro"ramaci/n 7o t+cnica de pro"ramaci/n8 que utili.a
objetos e interacciones en el diseFo de un sistema.
$ecomiendo este libro de P## PHP5
http://www.cursosdeprogramacionadistancia.com/static/pd/material-sin-person
ali!ar-php.pd
Sistema de Control de 3ersiones 49"T6
-e llama control de versiones a la "esti/n de los diversos cambios que se reali.an sobre
el c/di"o de un proyecto de desarrollo de software. n esta oportunidad utili.aremos el
servicio >ithub.com.
Guieres profundi.ar en >it5 http5=="it2scm.com=doc
Guieres practicar5 https5==try."ithub.io=
)+u, es Laravel0
Laravel! es el framework PHP de c/di"o abierto de mayor aceptaci/n actualmente para
este len"uaje! y su simplicidad en la sinta1is! su ele"ancia en la escritura! su motor de
plantillas incorporado! la potencia de composer y de artisan para su manejo y los
complementos con los que cuentan! hacen que PHP que para muchos estaba empe.ando
a quedarse en el olvido! vuelva a ser rescatado y sea ahora un len"uaje moderno! rpido!
e<ciente y profesional trabajado desde Laravel.
P"ina o<cial del proyecto5 www.laravel.com
$epositorio #<cial5 https5=="ithub.com=laravel=laravel
Caractersticas
,a por la versi/n 4 publicada en %ayo del @HIA 7actualmente en la v4.@8.
&reado en @HII por Taylor Otwell - @taylorotwell
Publicado bajo la licencia open source %;D 2 http5==opensource.or"=licenses=%;D
st inspirado en Ruby on Rails y Symfony! de quien posee muchas dependencias.
st diseFado para desarrollar bajo el patr/n %,&.
Posee un sistema de mapeo de datos relacional llamado Eloquent ORM.
'tili.a un sistema de procesamiento de plantillas llamado Blade! el cual hace uso
de la cache para darle mayor velocidad.
Artisan
&liente de consola que nos permite ejecutar comandos propios del framework. s
muy verstil! potente e incluso nos permite e1tenderlo creando nuestras propias
tareas para que est+n disponibles desde este cliente.
Composer
(esde la 0ltima versi/n! la 4! est disponible directamente desde &omposer el
nuevo "estor de paquetes y de dependencias de PHP. sto nos permite modi<car
y a"re"ar los paquetes que querramos incluso permiti+ndonos "enerar paquetes
nuestros! con<"urarlos en el composer.json e incluirlos en nuestra aplicaci/n con
un composer update. Dal es el uso y los bene<cios de &omposer que Laravel utili.a
muchos paquetes de otros frameworks como -ymfony 7?rtisan es una e1tensi/n
de su consola8 entre otros.
6uente5 https5=="etcomposer.or"=
2i7raciones
Lo que incorpora Laravel es la posibilidad de llevar un control de versiones de
nuestra base de datos. sto! combinado con un sistema de seedin" nos permite
tener nuestra aplicaci/n descar"ada y funcionando en unos pocos comandos.
jemplo5
Jphp artisan mi"rate
Jphp artisan db5seed
:lo1uent 8;2
#bject2$elational %appin" que nos permite interactuar con nuestra base de datos
como si cada tabla fuera un %odelo! respetando ms <elmente la divisi/n %,&. s
muy fcil de usar! y por sobre todas las cosas maneja una sinta1is muy e1presiva
para facilitar su lectura y comprensi/n.
Sistema de Plantillas <lade
Laravel 4 cuenta con un poderoso sistema de plantillas que permite evitar el
c/di"o espa"ueti! y separar en varios componentes cada una delas partes de tu
aplicaci/n como en el si"uiente ejemplo5
==vie.s=layout.$lade.php
KLdoctype htmlM
KhtmlM
KheadM
KtitleM%i Plantilla Elade baseK=titleM
K=headM
KbodyM
Kdiv classNOcontainerOM
&yield4>container>6
K=divM
K=bodyM
K=htmlM
La l)nea clave es @yield que de<ne la vista hija que ser incluida en el template.
* mucho m%s
Guedaron muchas cosas interesantes! como $esources! >enerators! soporte para
'nit Destin"! ,alidaciones! etc. sto es solo un muestreo de al"unas de las
features. De invito a buscar las si"uientes fuentes y sobre todo leerte la
documentaci/n.
n las pr/1imas semanas desarrollaremos nuestra primera aplicaci/n usando
Laravel.
-uentes
Li$ros
Laravel5 &ode Eri"ht 2 https5==leanpub.com=codebri"ht
>ettin" -tarted with Laravel 4
Laravel5 6rom ?pprentice Do ?rtisan 2 https5==leanpub.com=laravel
Laravel Destin" (ecoded 2 https5==leanpub.com=laravel2testin"2decoded
?e$
(ocumentaci/n #<cial5 http5==laravel.com=docs
Por Pjlinformatico.