Symfony y Admin Generator

download Symfony y Admin Generator

If you can't read please download the document

Transcript of Symfony y Admin Generator

Diapositiva 1

Castelln - 5 y 6 de Julio 2010 Universitat Jaume I

organizan

patrocinan

colaboran

Jornadas Symfony

5 y 6 de julio 2010Universitat Jaume I, Castelln

http://decharlas.uji.es/symfony

Admin GeneratorUn gran poder conlleva una gran responsabilidad

Javier Lpez, flai.es

Jornadas Symfony

5 y 6 de julio 2010Universitat Jaume I, Castelln

http://decharlas.uji.es/symfony

http://www.flai.es

Jornadas Symfony http://decharlas.uji.es/symfony

sesin patrocinada por

Jornadas Symfony http://decharlas.uji.es/symfony

CRUD?

Muchas aplicaciones son slo una interfaz para la BBDD

Proceso muy repetitivo y siempre igual

REATE: nuevo

ETRIEVE: listar

PDATE: actualizar

ELETE: eliminar

C

R

U

D

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

God bless symfony

Symfony ofrece dos soluciones

CRUDGeneratorAdminGeneratorsymfony doctrine:generate-modulesymfony doctrine:generate-admin

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

God bless symfony

Symfony ofrece dos soluciones

CRUDGeneratorAdminGeneratorsymfony doctrine:generate-modulesymfony doctrine:generate-adminKiller Feature

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

pero, qu es?

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

Un ejemplo

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

Admin Generator

Admin generator = generator.yml

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

Admin Generator

Admin generator = generator.yml

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

Admin Generator

generator.ymlformsfiltersmodelsactionspartialsgenerator

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

Cmo funciona

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

Cmo funciona

/apps/backend/modules

/cache/backend/dev/modules

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

Cmo funciona

xxxGeneratorConfigurationgenerator.yml

sfDoctrineGenerator

generator: class: sfDoctrineGenerator param:[]generator: config: fields: [] list: [] edit: [] ...

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

Cmo funciona

sfDoctrineGeneratorMdulo en /app/modules/xxxMdulo en /cache/modules/autoxxx

/plugins/data/generator/sfDoctrineModule/admin

COPIADO/SKELETON

COMPILADO/TEMPLATE

1. se ejecuta php2. [?php ?] =>

COPIADOSustitucin ##variable##

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

Cmo funciona

/SKELETON

/TEMPLATE

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

Cmo funciona

/SKELETON

/TEMPLATE

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

Cmo funciona

/SKELETON

/TEMPLATE

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

Tu propio admin-generator

sfDoctrineGeneratorMdulo en /app/modules/xxxMdulo en /cache/modules/autoxxx

/lib/data/generator/sfDoctrineModule/mitema

COPIADO/SKELETON

COMPILADO/TEMPLATE

1. se ejecuta php2. [?php ?] =>

COPIADOSustitucin ##variable##

generator: param: theme: mitema

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

Las acciones

El listadoLa edicin

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

El listado desde la vista

indexSuccess.php

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

El listado desde la vista

indexSuccess.php

_list_header

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

El listado desde la vista

indexSuccess.php

_flashes

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

El listado desde la vista

indexSuccess.php

_filters

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

El listado desde la vista

indexSuccess.php

_list batch actions

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

El listado desde la vista

indexSuccess.php

_list actions

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

El listado desde la vista

indexSuccess.php

_list actions

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

El listado desde la vista

indexSuccess.php

_list

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

El listado desde la vista

indexSuccess.php

_list

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

El listado desde la vista

_list.php

_list_th_[tabular|stacked]

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

El listado desde la vista

_list.php

_list_td_[tabular|stacked]

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

El listado desde la vista

_list.php

_list_td_actions

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

El listado desde la vista

_list.php

_pagination

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

El listado desde la accin

actions.class.php

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

El listado construyendo la query

$querysf_user/admin_module product.sortsf_user/admin_module product.filterProductFormFilterbuildQuery

configurationdefaultFilters

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

El listado desde la accin

actions.class.php

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

La edicin desde la vista

editSuccess.phpnewSucccess.php

_form_header

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

La edicin desde la vista

editSuccess.phpnewSucccess.php

_flashes

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

La edicin desde la vista

editSuccess.phpnewSucccess.php

_form_footer

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

La edicin desde la vista

editSuccess.phpnewSucccess.php

_form

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

La edicin desde la vista

editSuccess.phpnewSucccess.php

_form_actions

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

La edicin desde la accin

GETPOSTGETPUT

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

La edicin desde la accin

Nuevo framework de formulario a partir de sf 1.0

La lgica depende del formulario no de la accin, no dependedel generador

Jos Antonio Po os contar como domesticarlos maana

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

Filtros

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

Los Filtros

Formularios muy especiales

TableMethodforeach $fieldsend$this->addXXXColumnQuery$this->addYYYQuery()

$this->addXXXColumnQuery()buildQueryXXX = fieldYYY = type

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

Los Filtros

addForeignKeyQuery$this->addYYYQuery()

addForeignKeyQueryaddEnumQueryaddTextQueryaddNumberQueryaddBooleanQuery

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

Los Filtros

addForeignKeyQuery$this->addYYYQuery()

addForeignKeyQueryaddEnumQueryaddTextQueryaddNumberQueryaddBooleanQuery

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

Ejemplos

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

Ejemplos el modelo de datos

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

Ejemplos

1. Botn activar/desactivar un producto

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

Ejemplos

1. Botn activar/desactivar un producto

Mensaje de notificacin

Nueva accin

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

Ejemplos

1. Botn activar/desactivar un producto

Modificando la vista

list_td_actions.php

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

Ejemplos

1. Botn activar/desactivar un producto

Modificando el controlador

actions.class.php

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

Ejemplos

2. Mostrar el nmero de productos y filtrar por ese campo

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

Ejemplos

2. Mostrar el nmero de productos y filtrar por ese campo

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com

Jornadas Symfony http://decharlas.uji.es/symfony

Muchas gracias!

email: [email protected]

twitter: @loalf

blog: http://www.loalf.com

empresa: http://www.flai.es

Mejoras que intenta aportar:

Es mejor utilizar un pie de pgina en vez de una cabecera, para dejar libre la parte superior de cada transparencia.

El pie de pgina incluye una vez ms publicidad de decharlas.com