Top Banner

of 25

Informe Completo POOII

Jul 07, 2018

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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

    &section()titulo)*

      ...

    &ensection

    &section()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