informe completo pooii
TRANSCRIPT
-
8/18/2019 Informe Completo POOII
1/25
“AÑO DE LA CONSOLIDACIÓN DEL MAR DE LA GRAU”
UNIVERSIDAD CIENTÍFICA DEL PERÚ
FACULTAD DE CIENCIAS E INGENIERIA
CARRERA PROFESIONAL DE INGENIERIA DE SISTEMAS
CURSO : PROGRAMACIÓN ORIENTADA A OBJETOS II.
DOCENTE: ING. PEDRO EVER VÁSQUEZ YLQUIMICHE.
ALUMNO: KEVIN IVÁN RAMIREZ ARMAS
KEMMER SINARAHUA ISHUIZA
JHULLY MARTHY CELIS LÓPEZ
JOSÉ IDELSO CRUZ BUENO
Tarapoto – Perú
2016
-
8/18/2019 Informe Completo POOII
2/25
HISTORIA
En el 2011 su creador, Taylor Orwell, mostró Laravel por primera vez al mundo. Por lo que, se trata
un ramewor! con un enoque resco y moderno" al ser #astante $oven. Est% &ec&o con
arquitectura '() y resuelve necesidades actuales como mane$o de eventos y autenticación de usuario
*dem%s, cuenta con un códi+o modular y etensi#le por medio de un administrador de paquetes y un soporte ro#usto para mane$o de #ases de datos.
http://www.ecured.cu/2011http://www.ecured.cu/index.php?title=Taylor_Otwell&action=edit&redlink=1http://www.ecured.cu/Frameworkhttp://www.ecured.cu/index.php?title=MVC&action=edit&redlink=1http://www.ecured.cu/index.php?title=Taylor_Otwell&action=edit&redlink=1http://www.ecured.cu/Frameworkhttp://www.ecured.cu/index.php?title=MVC&action=edit&redlink=1http://www.ecured.cu/2011
-
8/18/2019 Informe Completo POOII
3/25
R VE
Laravel es un ramewor! de códi+o a#ierto para desarro
aplicaciones y servicios we# con P-P. u iloso/a es desarrol
códi+o P-P de orma ele+ante y simple, evitando el códiespa+ueti. ue creado en 2011 y tiene una +ran inluencia
ramewor!s como u#y on ails, inatra y *P.3ET '().
Visión general: Laravel tiene como o#$etivo ser ramewor! que permita el uso de una sintais ele+ante y epres
para crear códi+o de orma sencilla y permitiendo multitud
uncionalidades. 4ntenta aprovec&ar lo me$or de otros ramewor!s
aprovec&ar las caracter/sticas de las 5ltimas versiones de P-
6ran parte de Laravel est% ormado por dependencia
especialmente de ymony, esto implica que el desarrollo Laravel dependa tam#i7n del desarrollo de sus dependencias.
¿Qué es un Framework? iendo muy simple, es un esquem8un esqueleto, un patrón9 para el desarrollo y:o la implementaci
de una aplicación. /, es una deinición muy +en7rica, pero tam#ipuede serlo un framework ; sin ir m%s le$os, el paradi+ma '() 8'odel
-
8/18/2019 Informe Completo POOII
4/25
Los frameworks no necesariamente est%n li+ados a un len+ua$e concreto,
aunque sea as/ en muc&as ocasiones. En el cada vez m%s popular u#y on
ails, Au#yB es el len+ua$e de pro+ramación y AailsB el framework " por otro
lado, ?avaerver aces est% orientado a desarrollos en ?ava. in em#ar+o,
nada impide deinir el mismo framework para len+ua$es dierentes; por e$emplo,eiste un ramewor! llamado Ciscuit cuyo o#$etivo es pr%cticamente convertirse
en un =P-P on ails>. Eso s/, cuanto m%s detallado es el framework , m%s
necesidad tendr% de ceDirse a un len+ua$e concreto.
Tam#i7n es posi#le que el framework deina una estructura para una aplicación
completa, o #ien sólo se centre en un aspecto de ella. i+uiendo con los
e$emplos, u#y on ails orece un marco para el desarrollo completo de una
aplicación we#, mientras que ?avaerver aces est% m%s orientado a
la interaz de usuario.
¿Qué ventajas tiene utilizar un Framework?Las que se derivan de utilizar un est%ndar" entre otras;
El pro+ramador no necesita plantearse una estructura +lo#al de la
aplicación, sino que el framework le proporciona un esqueleto que &ay
que =rellenar>.
acilita la cola#oración. )ualquiera que &aya tenido que =pelearse> con
el códi+o uente de otro pro+ramador 8o incluso con el propio, pasadoal+5n tiempoF9 sa#r% lo di/cil que es entenderlo y modiicarlo" por tanto,
todo lo que sea deinir y estandarizar va a a&orrar tiempo y tra#a$o a los
desarrollos cola#orativos.
Es m%s %cil encontrar &erramientas 8utilidades, li#rer/as9 adaptadas
al framework concreto para acilitar el desarrollo.
Ge acuerdo" pero Hqu7 Aramewor!B utilizoI
Cuscando en la red se encuentra muc&a inormación so#re
los frameworks eistentes para las dierentes plataormas y len+ua$es.
Posi#lemente uno de sus principales pro#lemas es que &aya demasiados; ya
se sa#e, lo #ueno de los est%ndares es que &ay muc&os para ele+ir ;9. in
em#ar+o, la elección del framework concreto a utilizar vendr% marcada por;
El tipo de aplicación a desarrollar.
http://biscuitproject.tigris.org/http://biscuitproject.tigris.org/
-
8/18/2019 Informe Completo POOII
5/25
El len+ua$e de pro+ramación y otras tecnolo+/as concretas; #ase de
datos, sistema operativo, etc.
)omo introducción a los ramewor!s, u#y on ails me parece una #uena
opción para desarrollar una aplicación we# y como e$emplo de lo que es
un framework . Gentro del mundo ?ava, truts parece uno de los m%s
etendidos. En conclusión La utilización de un framework en el desarrollo deuna aplicación implica un cierto coste inicial de aprendiza$e, aunque a lar+o
plazo es pro#a#le que acilite tanto el desarrollo como el mantenimiento.
Eisten multitud de ramewor!s orientados a dierentes len+ua$es,
uncionalidades, etc. *unque la elección de uno de ellos puede ser una tarea
complicada, lo m%s pro#a#le que a lar+o plazo sólo los me$or deinidos 8o m%s
utilizados, que no siempre coinciden con los primeros9 permanezcan. J sinin+uno de ellos se adapta a las necesidades de desarrollo, siempre es me$or
deinir uno propio que desarrollar =al por mayor>.
Caractersticas!
istema de ruteo, tam#i7n ETul
Clade, 'otor de plantillas.
Peticiones luent. Eloquent O'.
Casado en )omposer
oporte para el cac&7
oporte para '()
@sa componentes de ymony
*dopta las especiicaciones P
-
8/18/2019 Informe Completo POOII
6/25
¿C'mo tra(aja %H%? El len+ua$e P-P se procesa en servidores, que son potentes ordenadores con sotware y &ardware especial. )uando se escri#e una dirección ti
&ttp;::www.aprenderapro+ramar.com:inde.p&p en un nave+ador we# como 4nternet Eplorer, ireo
)&rome, Hqu7 ocurreI e env/an los datos de la solicitud al servidor que los procesa, re5ne los dat
8por eso decimos que es un proceso din%mico9 y el servidor lo que devuelve es una p%+ina -T'L como
uera est%tica.
$l es)uema es! Petición de p%+ina we# al servidor Respuesta
Por re+la +eneral este tipo de len+ua$e suele ser utilizado para crear contenido din%mico y poder
interactuar con el usuario.
(eamos un e$emplo del contenido de una p%+ina we# p&p, que &a#remos de almacenar en un arc&i
que termina con la etensión. p&p y que contiene teto;
E"empo
-
8/18/2019 Informe Completo POOII
7/25
)on P-P puedes procesar la inormación de ormularios, +enerar p%+inas con contenidos din%micos
enviar y reci#ir coo!ies, entre muc&as m%s cosas. P-P lo utilizan desde pequeDas p%+inas we# &as
+randes empresas. 'uc&as aplicaciones we# est%n construidas usando P-P. Podemos citar ?oomla
Grupal 8+estores de contenido de p%+inas we#9, os)ommerce y Prestas&op 8tiendas on
-
8/18/2019 Informe Completo POOII
8/25
*AS %R$&IAS
*ntes de empezar con Laravel, necesitamos preparar nuestro equipo para
el desarrollo. Para esto, vamos a levantar un servidor local
instalando *'PP.
*&ora, una vez instalado y levantado los servicios del servidor *pac&e,
vamos a instalar una &erramienta muy #uena que nos va a servir muc&o;
)omposer.
)omposer es un mane$ador de dependencias de P-P, que nos permite
instalar paquetes que otros usuarios comparten con la comunidad.
Para instalar )omposer en Qindows, #asta con entrar a la p%+ina de
)omposer e ir al apartado Gownload para descar+ar su 5ltima versión.
En caso uses otro sistema operativo 8O9, puedes encontrar m%s inormación dentro
la documentación de )omposer .
Cueno, a&ora que tenemos nuestro servidor *pac&e levantado y contamos con )omposer, podem
empezar con la descar+a de la 5ltima versión del w Laravel, que tam#i7n se puede encontrar en
p%+ina principal de Laravel. *qu/ se eplica cómo &acer la instalación con )omposer.
Lo primero ser% situarnos, con la consola de l/nea de comandos, en la carpeta &tdocs, donde crearem
nuestro proyecto llamado TutorialRmartec, el que ya contar% con el w.
@na vez terminada la descar+a de los arc&ivos, podemos entrar en la carpeta de nuestro proyecto y
levantar un servicio de prue#a para verlo uncionando. El script que de#emos di+itar es;
p&p artisan serve
*&ora, vamos a
dirección que
indica,
&ttp;::local&ost;S000, y podremos ver Laravel uncionando.
¿Qué es +A,%% - .ara )ué sirve?
*'PP es un servidor independiente de plataorma, sotware li#re, que consiste principalmente ensistema de +estión de #ases de datos 'yL, el servidor we# *pac&e y los int7rpretes para len+ua$es
script; P-P y Perl. El nom#re proviene del acrónimo de + 8para cualquiera de los dierentes sistemoperativos9, Apac&e, ,yL, %-P, %erl. Gesde la versión N.U.1N, +A,%% cam#ió la #ase de datos 'yL * 'ariaGC. El cual es un or! de 'yL con licencia 6PL.
El pro+rama est% li#erado #a$o la licencia 63@ y act5a como un servidor we# li#re, %cil de usar y cap
de interpretar p%+inas din%micas. *ctualmente *'PP est% disponi#le para 'icros
Qindows, 63@:Linu, olaris y 'ac O .
¿.ara )ué sirve?
https://www.apachefriends.org/es/index.htmlhttps://getcomposer.org/https://getcomposer.org/https://getcomposer.org/download/http://laravel.com/docs/4.2/installationhttps://es.wikipedia.org/wiki/Servidorhttps://es.wikipedia.org/wiki/Plataforma_(inform%C3%A1tica)https://es.wikipedia.org/wiki/Software_librehttps://es.wikipedia.org/wiki/MySQLhttps://es.wikipedia.org/wiki/MySQLhttps://es.wikipedia.org/wiki/Servidor_HTTP_Apachehttps://es.wikipedia.org/wiki/PHPhttps://es.wikipedia.org/wiki/Perlhttps://es.wikipedia.org/wiki/MariaDBhttps://es.wikipedia.org/wiki/MariaDBhttps://es.wikipedia.org/wiki/Licencia_GPLhttps://es.wikipedia.org/wiki/GNUhttps://es.wikipedia.org/wiki/Microsoft_Windowshttps://es.wikipedia.org/wiki/Microsoft_Windowshttps://es.wikipedia.org/wiki/GNU/Linuxhttps://es.wikipedia.org/wiki/Solaris_(sistema_operativo)https://es.wikipedia.org/wiki/Mac_OS_Xhttps://www.apachefriends.org/es/index.htmlhttps://getcomposer.org/https://getcomposer.org/https://getcomposer.org/download/http://laravel.com/docs/4.2/installationhttps://es.wikipedia.org/wiki/Servidorhttps://es.wikipedia.org/wiki/Plataforma_(inform%C3%A1tica)https://es.wikipedia.org/wiki/Software_librehttps://es.wikipedia.org/wiki/MySQLhttps://es.wikipedia.org/wiki/Servidor_HTTP_Apachehttps://es.wikipedia.org/wiki/PHPhttps://es.wikipedia.org/wiki/Perlhttps://es.wikipedia.org/wiki/MariaDBhttps://es.wikipedia.org/wiki/Licencia_GPLhttps://es.wikipedia.org/wiki/GNUhttps://es.wikipedia.org/wiki/Microsoft_Windowshttps://es.wikipedia.org/wiki/Microsoft_Windowshttps://es.wikipedia.org/wiki/GNU/Linuxhttps://es.wikipedia.org/wiki/Solaris_(sistema_operativo)https://es.wikipedia.org/wiki/Mac_OS_X
-
8/18/2019 Informe Completo POOII
9/25
)omo ya lo de#es &a#er deducido, *'PP es una &erramienta de desarrollo que te permite pro#ar
tra#a$o 8p%+inas we# o pro+ramación, por e$emplo9 en tu propio ordenador sin necesidad de tener q
accesar a internet.
i eres un desarrollador que reci7n est% comenzando, tampoco de#es preocuparte so#re
coni+uraciones ya que *'PP te provee de una coni+uración totalmente uncional desde el momen
que lo instalas 8#%sicamente lo etraes9. in em#ar+o, es #ueno acotar que la se+uridad de datos no
su punto uerte, por lo cual no es suicientemente se+uro para am#ientes +randes o de producción.
%a)uetes )ue vienen con +A,%%
%a)uetes (/sicos!
*pac&e, el servidor Qe# m%s amoso.
'yL, una ecelente #ase de datos de códi+o li#re.
P-P y Perl; len+ua$es de pro+ramación.
ProTPG; un servidor TP.
OpenL; para soporte a la capa de soc!ets se+ura.
%a)uetes 0r/1icos!
6G 86rap&ics Graw9; la li#rer/a de di#u$o de +r%icos.
li#pn+; la li#rer/a oicial de reerencia de P36.
li#pe+; la li#rer/a oicial de reerencia de ?PE6.
ncurses; la li#rer/a de +r%icos de caracteres.
Paquete de #ases de datos;
+d#m; la implementación 63@ de la li#rer/a standard d#m de @34.
Lite; un motor de #ase de datos L muy pequeDo y cero coni+uraciones.
reeTG; una li#rer/a de #ase de datos que da a los pro+ramas de Linu y @34 la &a#ilidad d
comunicarse con 'icrosot L y y#ase.
%a)uetes +,*!
epat; una li#rer/a parser de 'L.
al#otron; una tool!it de 'L.
-
8/18/2019 Informe Completo POOII
10/25
li#ml; un parser ) de 'L y un tool!it para 63O'E.
Paquetes P-P;
PE*; la li#rer/a de P-P.
@na clase pd que +enera documentos PG din%micos con P-P.
T@)V '')ac&e; un potenciador de la perormance de P-P.
Otros .a)uetes!
zli#; una li#rer/a de compresión.
modRperl; empotra un int7rprete de Perl en *pac&e.
+ettet; un con$unto de &erramientas que asiste a los paquetes 63@ para producir mensa$
multilin+uales.
mcrypt; un pro+rama de encriptación.
'in+; una li#rer/a de salida en las&.
4'*) )
-
8/18/2019 Informe Completo POOII
11/25
CO,%OS$R
El asunto est% as/; P-P &a tenido al+unos cuantos pro#lemas en el mundo de la descar+a
paquetes:li#rer/as, para &acer eso ten/as que ir a la we# 8si es que ten/a9 de al+una li#rer/a y #uscar
sección de =Gescar+as> para poder utilizarla" sin contar con el &ec&o que para &acer eso en al+un
ocasiones necesita#as re+istrarte a la p%+ina" pro+ramadores P-P se que$a#an de que no eist/a al+
como npm para Node.js o #undler para Ruby . Cien, a&ora eiste, se llama )omposer y pod
considerarse una de las maravillas del mundo de P-P.
)omposer es un mane$ador de dependencias.
W H'ane$ador de qu7I
)omposer es un mane$ador de dependencias, no un +estor de paquetes. Pero es cierto que tra
con paquetes y librerías, la instalación siempre es local para cualquier proyecto, las li#rer/as se instal
en un directorio por deecto 8normalmente es 2vendor9. )omposer es capaz de instalar las li#rer/as qrequiere tu proyecto con las versiones que necesiten. HJ si mis li#rer/as dependen de otrasI Tam#i7n
capaz de resolver eso y descar+ar todo lo necesario para que uncione y as/ quitarnos del dolor
ca#eza de &acer todo eso de orma manual.
¿Qué .ro(lemas resuelve Com.oser?
Tienes un proyecto que depende de ciertas li#rer/as desarrolladas por terceros, y a su vez, 7stas li#rer/
tam#i7n dependen de otras 8t5 no tienes porqu7 conocer estas li#rer/as9, lo que &ace )omposer en es
caso es averi+uar que li#rer/as de#en instalarse" es decir, resuelve todas las dependencias indirectas
descar+a autom%ticamente la versión correcta de cada paquete.
H)ómo instalo )omposerI
La instalación de )omposer es muy sencilla, si est%s en Linu o 'ac es sólo e$ecutar dos comandos
la terminal;
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
El primer comando descar+a )omposer a tu computador y el se+undo lo mueve al directorio para que
puedas e$ecutar +lo#almente usando 3 com.oser desde cualquier carpeta, de lo contrario necesitar/siempre reerenciar al arc&ivo con la ruta completa, por e$emplo, al+o como; X:Gownloads:composer.p&
J si est%s en Qindows, tienes un instalador de )omposer e$ecuta#le. 3o, no es un virus. *qu/ tienes
instrucciones detalladas para instalar )omposer en tu plataorma avorita.
Coman4os 4is.oni(les con Com.oser
i eres un pro+ramador u#y entonces de#es de estar amiliarizado con el arc&ivo 6emile, o si eres
3ode.$s con pac!a+e. $son" #ueno, estos son los comandos que puedes utilizar con composer;
https://getcomposer.org/Composer-Setup.exehttps://getcomposer.org/doc/00-intro.mdhttps://getcomposer.org/Composer-Setup.exehttps://getcomposer.org/doc/00-intro.md
-
8/18/2019 Informe Completo POOII
12/25
Y composer a#out
Y composer arc&ive
Y composer #rowse
Y composer clear
-
8/18/2019 Informe Completo POOII
13/25
Y composer update
Y composer validate
*&ora eplicar7 #revemente al+unos comandos.
3 com.oser init
*l e$ecutar este comando solicitar% cierta inormación que servir% para crear el arc&ivo composer.$soeste lo eplicar7 en el si+uiente tutorial, solo mencionar7 que la inormación requerida es #%sica para
arc&ivo, como el nom#re del paquete, descripción, autor8es9, p%+ina del proyecto, y las dependencias. 3
te preocupes, te eplicar7 detalladamente qu7 es cada uno de estos datos.
3 com.oser install
Este comando procesa el arc&ivo composer. $son y resuelve las dependencias, normalmente las insta
en un directorio llamado :vendor, pero podemos especiicar cualquier otro.
3 com.oser u.4ate
*ctualiza las dependencias de tu proyecto a la 5ltima versión y tam#i7n actualiza el arc&ivo compos
loc! Esto se puede &acer de varias maneras, ima+ina que solo quieres actualizar una dependencia
espec/ico, para &acer eso tienes que indicar el nom#re del paquete, de la si+uiente manera;
3 com.oser u.4ate ven4or2.acka0e anot5er6ven4or2anot5er6.acka0e ven4or672.acka0e67
Esto solo actualizar% las dependencias especiicadas, si quieres actualizar todas las dependencias de
cierto paquete puede a&orrar muc&os caracteres utilizando un comod/n Z, de la si+uiente manera;
3 com.oser u.4ate ven4or6728
El comando require instala las dependencias especiicadas, este lo eplicar7 m%s detalladamente en
si+uiente tutorial, la sintais es la si+uiente;
3 com.oser re)uire ven4or2.acka0e! 8
El comando searc& #usca el paquete indicado en Pac!a+ist, solo tienes que pasarle el nom#re d
paquete.
3 .5. com.oser searc5 monolo0
El comando s&ow muestra los paquetes disponi#les y tam#i7n puedes ver los detalles de un paquete e
espec/ico. Casta con pasarle un ar+umento, este tiene que ser el nom#re del paquete;
3 .5. com.oser s5ow ven4or2.acka0e
Gesple+ar% inormación como; el nom#re del paquete, versiones, el tipo de paquete, el códi+o uente,
zip del códi+o uente, licencia, etc.
-
8/18/2019 Informe Completo POOII
14/25
El comando depends muestra la lista de paquetes de los cuales depende el paquete indicado. /, m
estoy reiriendo a las li#rer/as de terceros. 'uestra los paquetes de tipo require y require
-
8/18/2019 Informe Completo POOII
15/25
El comando create
-
8/18/2019 Informe Completo POOII
16/25
$STR"CT"RA 9$* %RO:$CTO $; *ARA&$*
Lo primero que de#emos ver es la estructura del proyecto, las carpetas que se mane$an y para qu7 n
sirven. (amos a eplicar al+unas de 7stas y, conorme avancemos con la comple$idad en las posterior
pu#licaciones, se ir%n eplicando las restantes.
i entramos a nuestro proyecto, podremos ver la si+uiente estructura;
*pp[; En esta carpeta vamos a tra#a$ar la mayor parte de nuestro proyecto. *qu/ estar%n nuestr
modelos a #ase
de datos, controladores, vistas y, en caso necesitemos, aqu/ colocaremos nuestras distintas capas pa
tra#a$ar. *s/ mismo, encontraremos los arc&ivos de coni+uración de la aplicación.
*pp[route.p&p; En este arc&ivo, deiniremos las rutas 8@L\s9 de nuestra aplicació
*pp[ilter.p&p; En este arc&ivo, escri#iremos los distintos iltros que se aplicar
a las rutas como por e$emplo 4 no est% lo+ueado, ir a la vista de lo+in" ca
contrario, continuar .
*pp[coni+[; En esta carpeta, encontr%remos los arc&ivos para coni+u
nuestra aplicación y nuestra #ase de datos.
*pp[controllers[; Esta carpeta, almacena los controladores de la aplicació
enti7ndase la ló+ica que ri+e nuestra p%+ina we#.
*pp[data#ase[; En esta carpeta, se +uardar%n las mi+raciones que s
versiones de la #ase de datos, escritas con c&ema Cuilder propio
Laravel.
*pp[models[; Esta carpeta, contendr% los modelos que se o#tienen de
e$ecución de las mi+raciones en nuestra
#ase de datos. Tam#i7n los podemos modiicar para deinir llaves or%neas y otros.
http://laravel.com/docs/4.2/schemahttp://laravel.com/docs/4.2/schemahttp://laravel.com/docs/4.2/schemahttp://laravel.com/docs/4.2/schema
-
8/18/2019 Informe Completo POOII
17/25
*pp[views[; En esta carpeta, tendremos los &tmls de nuestro sistema. *qu/ podemos tra#a$ar 8y
recomenda#le9 con el sistema de plantillas de Clade.
Pu#lic[; En esta )arpeta, pondremos nuestros css, $s, ima+enes y al+unos otros recursos que podam
necesitar o usar. En esta carpeta esta el arc&ivo inde.p&p que es el arc&ivo que da inicio a todo
proceso del w.
(endor[; Esta carpeta mane$a todo el códi+o del w" as/ como de terceros, pac!a+es y dependencias qu
podamos necesitar en nuestro proyecto.
¿,o4elo6&ista6Controla4or?
Laravel \entre+a la opción\ de se+uir usando la metodolo+/a tradicional '(). in em#ar+o, el ramewo
propone una v/a m%s r%pida en P-P, la cual consiste en pro+ramar la interacción -TTP directamen
como una unción anómina asociada a una ut
Esto tiene la venta$a de reducir la cantidad de códi+o, especialmente cuando sólo necesitamos incluir u
uncionalidad.
*s/, donde antes necesit%#amos pro+ramar una clase, a&ora en Laravel sólo requerimos escri#ir u
unción en P-P.
Por e$emplo, si para desarrollar una aplicación que responda a la u
&ttp;::mi
-
8/18/2019 Informe Completo POOII
18/25
1. &
En cam#io, en Laravel es muc&o m%s directo en su códi+o;
1.
-
8/18/2019 Informe Completo POOII
19/25
#. &
4ncluso el códi+o del modelo puede ser m%s simple a5n, en el caso que el nom#re de la ta#la coinci
con el nom#re de la clase. Pues Laravel al i+ual que u#y on ails, usa el paradi+ma de pro+ramaci
donde se avorece la convención so#re la coni+uración. J si a&ora necesitamos disponer un listado,
la ru
&ttp;::mi
-
8/18/2019 Informe Completo POOII
20/25
1. {{9mi_nom4re&&
Lo cual, no es una +ran venta$a so#re todo cuando siempre es posi#le usar una epresión resumida
P-P. 3o o#stante, lo que, si es una +ran venta$a, es el modo en que Clade mane$a los Layou
Los Layouts en los ramewor!s P-P, permiten or+anizar las vistas en P-P. En especial, todos l
elementos est%ticos en una aplicación we# que no cam#ian entre peticiones -TTP, como lo son;
Los -eader,
'en5s,
y ooters.
6eneralmente, a estos elementos se les denomina \partial views\ 8vistas parciales9.
"so *a-outs con
En el Layout presentado, el códi+o ]yield89 identiica al m7todo donde como par%metro se indica
nom#re de la zona desple+ar. Por otro lado, el códi+o de la vista, donde se deine el Layout a usar y
inormación de las distintas zonas a desple+ar;
-
8/18/2019 Informe Completo POOII
21/25
§ion()titulo)*
...
&ensection
§ion()navegacion)*
...
&ensection
$ntonces! ¿*aravel es .ara To4os?
Laravel presenta +randes venta$as en el desarrollo we# en P-P, apoyado en los avances de las nuev
versiones de P-P &an orecido a la comunidad. Este &ec&o, implica que para usar Lavarel necesitam
disponer de versiones modernas de P-
La actual versión de Laravel .2 requiere P-P N., lo cual si+niica en la pr%ctica que si tenemos códi
&eredado que ueron pro+ramados para usar versiones anti+uas del int7rprete P-P, este no unciona
correctamente si lo e$ecutamos en P-PN. en el mismo servidor we
En resumen, Laravel es una ecelente &erramienta de sotware para el desarrollo d/a a d/a, dispone
al+unos de los actores claves que &acen a un proyecto open source eitos
3o tiene requerimientos eóticos so#re el stac! de pu#licación.
@na muy #uena y completa documentación online.
J una comunidad creciente en el apoyo de este proyecto.
Controla4or
Los controladores contienen la ló+ica de la aplicación y permiten or+anizar el códi+o en clases sin tener
que escri#irlo todo en las rutas. Todos los controladores de#en etenderse de la clase Case)ontroller.
@n e$emplo de un controlador en Laravel;
class "serController e7ten4s Case)ontroller ^ .u(lic 1unction mostrarPeril8Yid9 ^
Yuser _ @ser ;;ind8Yid9""
http://laravel.com/docshttp://laravel.com/docs
-
8/18/2019 Informe Completo POOII
22/25
return (iew;;ma!e8\user.proile\, arra-8\user\ _ Yuser 99" `
`
Estos pueden ser llamados en las rutas de dierentes maneras, pero la m%s com5n us%ndo rutas es;
oute;;+et8\user:^id`\, \@ser)ontroller]mostrarPeril\9"
In1luencia
La inluencia de Laravel &a crecido r%pidamente desde su lanzamiento. En la comunidad
desarrolladores es considerado como alternativa sencilla de usar pero que tiene todas las uncionalidad
que de#e tener un ramewor!. -a sido descar+ado m%s de 20.000 veces, y se espera que supere
popularidad a otros ramewor!s ya esta#lecidos m%s anti+uos.
*aravel! %rinci.ales caractersticas - 1uentes 4e ins.iraci'n
(eamos qu7 es lo que puedes esperar de un proyecto con Laravel y como 7stas caracter/sticas pued
ayudar de incrementar su productividad.
,o4ulari4a4; Laravel se &a construido utilizando m%s de 20 li#rer/as dierentes uertemen
inte+radas con el +estor de dependencias )omposer
Testea(ili4a4; construido para acilitar el testeo, Laravel tiene con varios asistentes 8&elpers9 q
ayudan a visitar las rutas de testeo, nave+ando por el -T'L resultante para ase+urar que lm7todos que se llaman desde las dierentes clases sean correctos, e incluso a impersonar a lo
usuarios.
$nrutamiento =routin0>; Laravel proporciona una etrema lei#ilidad en la deinición de las rut
de la aplicación. 4nspirado en la iloso/a de los micro
-
8/18/2019 Informe Completo POOII
23/25
Con1ecciona4or es)uema@ mi0raciones - re.o(laciones ; inspirado por la iloso/a ails, est
caracter/sticas permiten deinir un esquema de #ase de datos dentro de P-P y mantener un re+ist
de los cam#ios para as/ ayudar en la mi+ración de #ase de datos. Las repo#laciones 8eedin
permiten po#lar las ta#las seleccionadas de una #ase de datos una vez realizada la mi+ración pa
de esta orma rellenar con datos las ta#las.
,otor 4e .lantillas; Laravel viene con Clade, un len+ua$e li+ero de plantillas con el cual
pueden crear diseDos anidados con #loques predeinidos en el que el contenido se inse
din%micamente. *dem%s Clade +uarda en cac&7 los arc&ivos +enerados.
$mail ; con la clase 'ail que es un derivado de la li#rer/a wit'ailer, Laravel proporciona un
orma muy sencilla de enviar e
-
8/18/2019 Informe Completo POOII
24/25
`9
-
8/18/2019 Informe Completo POOII
25/25
lINKCOGRAFÍA
&ttps;::www.+oo+le.com.pe:we#&pIsourceid_c&rome