Desymfony 2011 - Tutorial #5: Backend

Post on 15-Jan-2015

15.530 views 0 download

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

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

javier.eguiluz@gmail.com

twitter.com/javiereguiluz

linkedin.com/in/javiereguiluz

contacto