JORNADAS SYMFONY 2011 1-3 JULIO, CASTELLÓN DESYMFONY.COM
Tutorial #5 BackendJavier Eguiluz
JORNADAS SYMFONY 2011 están patrocinadas porPa
troc
inad
ores
PL
ATIN
O y
ORO
Patr
ocin
ador
es
PLAT
APa
troc
inad
ores
BR
ONCE
Cola
bora
dore
s
Algunas partes de esta presentación no se pueden entender bien sin ver el vídeo de su impartición.
Puedes acceder al vídeo enhttp://bit.ly/sf-tutorial5
importante
La idea
« Desarrollar la parte de administración de desymfony.com »
portada (list)
modificar ponencia (edit)
crear ponencia (new)
detalle ponencia (show)
php symfony doctrine:generate-admin backend Ponencia --module=ponencia
tiempo estimado
1 minuto
Symfony2 no tiene (de momento) un admin generator
Planificación
framework Symfony2
BrowserKit
ClassLoader
Console
CssSelector
DependencyInjection
DomCrawler
EventDispatcher
Finder
Form
HttpFoundation
HttpKernel
Locale
Process
Routing
Security
Serializer
Templating
Translation
Validator
Yaml
Config
componentes
Assetic
Doctrine
Monolog
SwiftMailer
librerías externas
DoctrineBundle
SecurityBundle
FrameworkBundle
AsseticBundle
MonologBundle SwiftMailerBundle
TwigBundle
DesymfonyBundle
bundles
« Symfony2 es un conjunto de librerías PHP independientes
unidas por una serie de bundles modificables »
Fuente: Ryan Weaver, http://slidesha.re/ktiXJw (pág. 10)
DesymfonyBundle
AdminBundle+
Desymfony Bundle
Admin
desymfony
app
src
vendor
src/Desymfony/DesymfonyBundle
ControllerAdminPonenciaController.php
Resources/config
Resources/views
admin_ponencia_routing.yml
AdminPonencia
list.twig.html
Definir el enrutamiento de la parte de administración
EN LA PRÁCTICA
El layout
frontend backend
navegador
CABECERA
CUERPO
PIE
frontend backend
Cabecera Cabecera
Cuerpo Cuerpo
Contenido Lateral
Pie Pie
base.twig.html
layout.twig.html admin_layout.twig.html
index.twig.html list.twig.html
Crear el layout de administración
EN LA PRÁCTICA
La seguridad
Proteger el acceso a la parte de administración
EN LA PRÁCTICA
security: firewalls: admin: pattern: ^/admin http_basic: ~
app/config/
security.yml1 Firewall
access_control: - { path: ^/admin, roles: ROLE_ADMIN }
app/config/
security.yml2 Control de acceso
providers: in_memory: users: admin: { password: 1234, roles: 'ROLE_ADMIN' } manager: { password: a4Rf8j, roles: 'ROLE_ADMIN' } editor: { password: u7e3k9, roles: 'ROLE_ADMIN' }
app/config/
security.yml3 Usuarios
Desarrollandoel backend
Programar las cuatro acciones y sus plantillas
EN LA PRÁCTICA
El generadorinteractivo
El generador interactivo de Symfony2 + Doctrine2
EN LA PRÁCTICA