Desymfony 2011 - Tutorial #5: Backend

34
JORNADAS SYMFONY 2011 1-3 JULIO, CASTELLÓN DESYMFONY.COM Tutorial # 5 Backend Javier Eguiluz

description

Backend fue la quinta ponencia impartida durante el primer día de las Jornadas Symfony 2011. Se trata de la quinta parte de las seis que forman el tutorial de desarrollo de la aplicación github.com/desymfony. Durante la misma se explica cómo crear a mano la parte de administración de la aplicación. También se explica cómo proteger la parte de administración con la protección que ofrece HTTP y con usuarios creados en memoria y no en base de datos. Por último, se muestra brevemente cómo utilizar el nuevo generador interactivo para crear automáticamente una administración básica.

Transcript of Desymfony 2011 - Tutorial #5: Backend

Page 2: Desymfony 2011 - Tutorial #5: Backend

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

Page 3: Desymfony 2011 - Tutorial #5: Backend

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

Page 4: Desymfony 2011 - Tutorial #5: Backend

La idea

Page 5: Desymfony 2011 - Tutorial #5: Backend

« Desarrollar la parte de administración de desymfony.com »

Page 6: Desymfony 2011 - Tutorial #5: Backend

portada (list)

Page 7: Desymfony 2011 - Tutorial #5: Backend

modificar ponencia (edit)

Page 8: Desymfony 2011 - Tutorial #5: Backend

crear ponencia (new)

Page 9: Desymfony 2011 - Tutorial #5: Backend

detalle ponencia (show)

Page 10: Desymfony 2011 - Tutorial #5: Backend

php symfony doctrine:generate-admin backend Ponencia --module=ponencia

tiempo estimado

1 minuto

Page 11: Desymfony 2011 - Tutorial #5: Backend

Symfony2 no tiene (de momento) un admin generator

Page 12: Desymfony 2011 - Tutorial #5: Backend

Planificación

Page 13: Desymfony 2011 - Tutorial #5: Backend

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

Page 14: Desymfony 2011 - Tutorial #5: Backend

« 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)

Page 15: Desymfony 2011 - Tutorial #5: Backend

DesymfonyBundle

AdminBundle+

Desymfony Bundle

Admin

Page 16: Desymfony 2011 - Tutorial #5: Backend

desymfony

app

src

vendor

Page 17: Desymfony 2011 - Tutorial #5: Backend

src/Desymfony/DesymfonyBundle

ControllerAdminPonenciaController.php

Resources/config

Resources/views

admin_ponencia_routing.yml

AdminPonencia

list.twig.html

Page 18: Desymfony 2011 - Tutorial #5: Backend

Definir el enrutamiento de la parte de administración

EN LA PRÁCTICA

Page 19: Desymfony 2011 - Tutorial #5: Backend

El layout

Page 20: Desymfony 2011 - Tutorial #5: Backend

frontend backend

Page 21: Desymfony 2011 - Tutorial #5: Backend

navegador

CABECERA

CUERPO

PIE

Page 22: Desymfony 2011 - Tutorial #5: Backend

frontend backend

Cabecera Cabecera

Cuerpo Cuerpo

Contenido Lateral

Pie Pie

Page 23: Desymfony 2011 - Tutorial #5: Backend

base.twig.html

layout.twig.html admin_layout.twig.html

index.twig.html list.twig.html

Page 24: Desymfony 2011 - Tutorial #5: Backend

Crear el layout de administración

EN LA PRÁCTICA

Page 25: Desymfony 2011 - Tutorial #5: Backend

La seguridad

Page 26: Desymfony 2011 - Tutorial #5: Backend

Proteger el acceso a la parte de administración

EN LA PRÁCTICA

Page 27: Desymfony 2011 - Tutorial #5: Backend

security: firewalls: admin: pattern: ^/admin http_basic: ~

app/config/

security.yml1 Firewall

Page 28: Desymfony 2011 - Tutorial #5: Backend

access_control: - { path: ^/admin, roles: ROLE_ADMIN }

app/config/

security.yml2 Control de acceso

Page 29: Desymfony 2011 - Tutorial #5: Backend

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

Page 30: Desymfony 2011 - Tutorial #5: Backend

Desarrollandoel backend

Page 31: Desymfony 2011 - Tutorial #5: Backend

Programar las cuatro acciones y sus plantillas

EN LA PRÁCTICA

Page 32: Desymfony 2011 - Tutorial #5: Backend

El generadorinteractivo

Page 33: Desymfony 2011 - Tutorial #5: Backend

El generador interactivo de Symfony2 + Doctrine2

EN LA PRÁCTICA

Page 34: Desymfony 2011 - Tutorial #5: Backend

[email protected]

twitter.com/javiereguiluz

linkedin.com/in/javiereguiluz

contacto