Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tutorial 1 Instalacion y Primeros Pasos
Tutorial 1 Instalacion y Primeros Pasos
primeros pasos
Javier Eguiluz
Colaboradores
Patrocinadores
BRONCE
Patrocinadores
PLATA
Patrocinadores
PLATINO y ORO
importante
Algunas partes de esta presentacin
no se pueden entender bien sin ver
el vdeo de su imparticin.
Puedes acceder al vdeo en
http://bit.ly/sf-tutorial1
La idea
Desarrollar una
versin ficticia del sitio
desymfony.com
portada
portada ponencias
detalle ponencia
portada ponentes
formulario registro
usuario conectado
administracin
github.com/desymfony
El desarrollo
1. Instalacin
2. Modelo y Doctrine2
3. Vista y Twig
4. Formularios y seguridad
5. Backend
6. Assetic y Tests
Instalando
Symfony2
1
symfony.com/download
2
CON vendors SIN vendors
.ZIP
5.3 MB
0.1 MB
.TGZ
2.7 MB
0.1 MB
2
CON vendors SIN vendors
.ZIP
DOWNLOAD
5.3 MB
0.1 MB
.TGZ
2.7 MB
0.1 MB
3
descomprimir
http://localhost/symfony
1
symfony.com/download
2
CON vendors SIN vendors
.ZIP
5.3 MB
0.1 MB
.TGZ
2.7 MB
0.1 MB
2
CON vendors SIN vendors
.ZIP
5.3 MB
DOWNLOAD
0.1 MB
.TGZ
2.7 MB
0.1 MB
3
descomprimir
4
cd <directorio_symfony>
php bin/vendors install
Usas
y te sientes
cmodo con
Git?
SI
NO
CON vendors
SIN vendors
Configurador web
EN LA PRCTICA
Configurar el proyecto
va web
Instalando el
proyecto
deSymfony
1
mkdir proyecto
2
git clone
git@github.com:desymfony/desymfony.git
proyecto
3
proyecto/bin/vendors install
git checkout
!b tutorial1
origin/tutorial1
Bundles
1 Proyecto
1 Proyecto
2 Aplicaciones
1 Aplicacin
X Mdulos
X Bundles
Y Plugins
bundle
Conjunto de archivos
que implementan una
nica funcionalidad
src/Desymfony
PonenciaBundle
PonenteBundle
UsuarioBundle
ComunBundle
src/Desymfony
DesymfonyBundle
src/Desymfony
DesymfonyBundle
Controller
Entity
Form
Resources
(opcional)
OBLIGATORIO
(opcional)
Desymfony / DesymfonyBundle
EN LA PRCTICA
Creando la
primera pgina
desymfony / contacto
enrutamiento
enrutamiento
Controlador
enrutamiento
Controlador
BD
Modelo
enrutamiento
Controlador
Vista
BD
Modelo
EN LA PRCTICA
Crear la pgina de
contacto
EN LA PRCTICA
EN LA PRCTICA
Introducir el profiler y la
barra de depuracin web
Namespaces
Antes de
<?php
symfony 1
include './comun/db.php';
require './comun/utilidades.php';
$articulo =
Doctrine::getTable('Articulo')->...
Aplicaciones
<?php
symfony 1
$articulo =
Doctrine::getTable('Articulo')->...
Aplicaciones
<?php
Symfony2
use Desymfony\DesymfonyBundle\Entity\Articulo;
src/Desymfony/DesymfonyBundle
Entity
Ponencia
Ponente
Usuario
src/Desymfony/DesymfonyBundle/Entity/
<?php
Ponencia.php
namespace Desymfony\DesymfonyBundle\Entity;
...
src/Desymfony/DesymfonyBundle/Controller/
<?php
PortadaController.php
src/Desymfony/DesymfonyBundle/Controller/
<?php
PortadaController.php
use Desymfony\DesymfonyBundle\Entity;
...
}
src/Desymfony/DesymfonyBundle/Controller/
<?php
PortadaController.php
use Desymfony\DesymfonyBundle\Entity;
src/Desymfony/DesymfonyBundle/Controller/
<?php
PortadaController.php
...
}
src/Desymfony/DesymfonyBundle/Controller/
<?php
PortadaController.php
src/Desymfony/DesymfonyBundle/Controller/
<?php
PortadaController.php
src/Desymfony/DesymfonyBundle/Controller/
<?php
PortadaController.php
use Desymfony\DesymfonyBundle\Entity\Ponencia;
Inyeccin de
Dependencoas
src/Desymfony/DesymfonyBundle/Controller/
<?php
PortadaController.php
src/Desymfony/DesymfonyBundle/Controller/
<?php
PortadaController.php
src/Desymfony/DesymfonyBundle/Controller/
<?php
PortadaController.php
Contenedor de
Inyeccin de Dependencias
$this->get('mailer')->...
$this->container->get('mailer')->...
<?php
public function portadaAction() {
$this->get('mailer')->send($mensaje);
...
}
<?php
public function portadaAction() {
$this->get('mailer')->send($mensaje);
...
}
Qu mailer utilizar?
Clase, mtodos
<?php
public function portadaAction() {
$this->get('mailer')->send($mensaje);
...
}
Qu mailer utilizar?
Clase, mtodos
Configuracin?
Servidor, puerto
app/config/
config.yml
swiftmailer:
transport:
host:
username:
password:
smtp
localhost
~
~
[...]/SwiftMailerBundle/[...]/schema/
swiftmailer-1.0.xsd
<xsd:complexType
<xsd:attribute
<xsd:attribute
<xsd:attribute
<xsd:attribute
<xsd:attribute
...
name="config">
name="username" type="xsd:string" />
name="password" type="xsd:string" />
name="host" type="xsd:string" />
name="port" type="xsd:string" />
name="type" type="xsd:string" />
</xsd:complexType>
[...]/SwiftMailerBundle/[...]/config/
swiftmailer.xml
[...]/SwiftMailerBundle/[...]/config/
swiftmailer.xml
Dame un
mailer!
Contenedor de
Inyeccin de
Dependencias
Dame un
mailer!
instrucciones para
crear mailers
instrucciones para
crear Doctrine
Contenedor de
Inyeccin de
Dependencias
instrucciones para
crear loggers
Dame un
mailer!
instrucciones para
crear mailers
instrucciones para
crear Doctrine
Contenedor de
Inyeccin de
Dependencias
instrucciones para
crear loggers
1. Instalado Symfony2
2. Configurado Symfony2
3. Instalado deSymfony
4. Creado el bundle
5. Todas las pginas estticas
contacto
javier.eguiluz@gmail.com
twitter.com/javiereguiluz
linkedin.com/in/javiereguiluz