Curso Symfony 1
Curso Symfony 1
4Doctrine
Symfony
Frameworkparaeldesarrollo deaplicacionesweb
(58)426820.59.45 [email protected]
Symfony1.4Doctrine
Symfony?
Es un framework para el desarrollo gil de aplicaciones. Automatiza varios de los patrones de diseo ms utilizados, aadiendo estructura al cdigo en aras de mejorar la escritura, legibilidadymantenibilidaddelcdigogenerado. Endefinitiva,hacedelaprogramacinunatareamsfcil.
(58)426820.59.45 [email protected]
Symfony1.4Doctrine
FuncionalidadesWeb
Lacapaintegradadeinternacionalizacin(i18n) facilitalatraduccindedataeinterfaces. Adems,facilitalalocalizacindecontenido. Sepuedenutilizarplantillasyesquemasdentro delaspginasHTMLparareducireltamaodeloscdigos. Los formularios soportan validaciones y rellenado automtico.
(58)426820.59.45 [email protected]
Symfony1.4Doctrine
FuncionalidadesWeb
Filtrado de data de entrada y salida protege la aplicacin contraataquesatravsdedatacorrompida. Lasfuncionalidadesparalagestindecachesreduceneluso deanchosdebandaycargasdelservidor. Funcionalidadesparalagestindecorreosintegrada. Ajaxintegrado.
(58)426820.59.45 [email protected]
Symfony1.4Doctrine
ConceptosClave
PHPversin5 OOPObjectOrientedProgramming AOPAspectOrientedProgramming PEAR ORMObjectRelationalMapping RADRapidApplicationDevelopment YAML MVCModel/View/Controller
(58)426820.59.45 [email protected]
Symfony1.4Doctrine
Recursos
Symfony
PortalPrincipaldelProyecto http://www.symfonyproject.org/ LibroWebparaeldesarrollodeunaaplicacindepruebamediantelautilizacindetodaslas funcionalidadesdelframework http://www.symfonyproject.org/jobeet/1_4/Doctrine/es/
(58)426820.59.45 [email protected]
Symfony1.4Doctrine
Recursos
Doctrine
PortalprincipaldelProyecto http://www.doctrineproject.org/ DocumentacinsobreelORM http://www.doctrineproject.org/projects/orm/1.2/docs/manual/introduction/en SeccindeaprendizajedeDQL http://www.doctrineproject.org/projects/orm/1.2/docs/manual/dqldoctrinequerylanguage/en
(58)426820.59.45 [email protected]
Symfony1.4Doctrine
Recursos
GrupoAyuda
Mayorforoenespaolparalasolicituddeayuda http://groups.google.es/group/symfonyes
(58)426820.59.45 [email protected]
Symfony1.4Doctrine
Requisitosparainstalacin
PHPversin5(php5). ClienteparaconsoladePHPversin5(php5cli). Conector para MySQL o PostgreSQL (segn sea el caso) de PHPversin5(php5pgsqlophp5mysql). Librera para interpretar documentos XSL Extensible StylesheetLanguagedePHPversin5(php5xsl).
(58)426820.59.45 [email protected]
Symfony1.4Doctrine
InstalacinSandbox
Bajar
http://www.symfonyproject.org/get/sf_sandbox_1_4.tgz
Instalacinsimple!
(58)426820.59.45 [email protected]
Symfony1.4Doctrine
InstalacinPEAR
InstalarPEAR
apt-get install php-pear
AgregarelcanalaPEAR
pear channel-discover pear.symfonyproject.com
Instalar
pear install symfony/symfony
Instalacinrecomendada!
(58)426820.59.45 [email protected]
Symfony1.4Doctrine
InstalacinSubversion
InstalarSubversion
apt-get install subversion
Instalacinavanzada!
(58)426820.59.45 [email protected]
Symfony1.4Doctrine
EstructuradeunproyectoSymfony
(58)426820.59.45 [email protected]
Proyecto
* Tips:BackendFrontend *
Symfony1.4Doctrine
Notasimportantes
RecuerdequeenLinuxesrecomendableiniciarsesincon usuariosdiferentesderoot. RecuerdequeenLinuxesrecomendableiniciarsesiones temporalesconrootslopararealizartareasadministrativas, comoporejemplo:instalarydesinstalarpaquetes. Todaslasoperacionesqueejecutaracontinuacinparacrear suaplicacinconSymfonydeberanserrealizadasconsu usuarioordinario(diferentederoot).
(58)426820.59.45 [email protected]
Symfony1.4Doctrine
Creandounproyecto
Nota:loscomandosacontinuacinseejecutansilainstalacindeSymfonyserealizomediantePEAR
RecuerdequeenSymfonylaestructuraesdeproyectos,mdulosy acciones.Luego,loprimeroescrearunproyecto,paraloquedebe:
$ mkdir /var/www/proy $ cd /var/www/proy $ symfony generate:project proy
*Tips:EnlacesimblicoarecursosdeSymfony*
$ ln -s /usr/share/php/data/symfony/web/sf/ ./web
(58)426820.59.45 [email protected]
Symfony1.4Doctrine
Creandounaaplicacin
Luegodebecrearunaaplicacinejecutandolossiguientes comandos:
$ cd /var/www/proy $ symfony generate:app app
(58)426820.59.45 [email protected]
Symfony1.4Doctrine
Creandounmdulo
Luegodebecrearunmduloejecutandolossiguientescomandos:
$ cd /var/www/proy $ symfony generate:module app mod
(58)426820.59.45 [email protected]
Symfony1.4Doctrine
Probandoelindex
Abrir: http://localhost/proy/web/app_dev.php/mod Parapersonalizarelindex: VaciarelcuerpodelmtodoexecuteIndex()delarchivo
/var/www/proy/apps/app/modules/mod/actions/actions.class.php
Agregarcontenidoalarchivo
/var/www/proy/apps/app/modules/mod/templates/indexSuccess.php
(58)426820.59.45 [email protected]
Symfony1.4Doctrine
Holamundo!
Agregarelmtodo,concuerpovaco,executeHolaMundoalarchivo
/var/www/proy/apps/app/modules/mod/actions/actions.class.php
AgregarelmensajeHolamundo!alarchivo
/var/www/proy/apps/app/modules/mod/templates/holaMundoSuccess.php
Ejecutar http://localhost/proy/web/app_dev.php/mod/holaMundo
(58)426820.59.45 [email protected]
Symfony1.4Doctrine
Pasandoparmetros
AgregaralaaccinexecuteHolaMundolassiguienteslneas:
$hoy=getdate(); $this>hora=$hoy['hours'];
AgregaraltemplateholaMundoSuccess.phplosiguiente:
<p>Holamundo!</p> <?phpif($hora>=18):?> <p>Yaesdenoche,sonlas:<?phpecho$hora;?>horas</p> <?phpendif;?> <?phpechoform_tag('mod/obtenerInfo');?> Culestunombre? <inputtype="text"name="nombre"/> <inputtype="submit"value="Aceptar"/> </form>
(58)426820.59.45 [email protected]
Symfony1.4Doctrine
Agregandovnculos
AgregaraltemplateholaMundoSuccess.phplassiguientes lneas(alfinal):
<?phpecholink_to('Noquierodecirminombre', 'mod/obtenerInfo?nombre=anonimo', array( 'class'=>'special', 'confirm'=>'Estustedseguro?', 'absolute'=>true ) )?>
(58)426820.59.45 [email protected]
Symfony1.4Doctrine
Capturandoparmetros
AgregaralaaccinexecuteObtenerInfolassiguienteslneas:
$this>nombre=$this>getRequestParameter('nombre');
AgregaralaplantillaobtenerInfoSuccesslassiguienteslneas:
<p>Hola,<?phpecho$nombre;?></p> o <p>Hola,<?php$sf_params>get('nombre');?></p>
(58)426820.59.45 [email protected]