Este documento anuncia las Jornadas Symfony que se celebrarán los días 5 y 6 de julio de 2010 en la Universitat Jaume I de Castellón. Incluye información sobre los organizadores, patrocinadores y colaboradores del evento. Además, presenta una sesión titulada "No reinventes la rueda: Plugins" que tendrá lugar el 6 de julio.
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
Symfony plugins - decharlas
1. Jornadas Symfony 5 y 6 de julio 2010
Universitat Jaume I, Castellón
http://decharlas.uji.es/symfony
organizan
patrocinan colaboran
Tuesday, July 6, 2010
2. NO REINVENTES LA RUEDA
PLUGINS
Jordi Llonch <jordi@laigu.net>
Jornadas Symfony 5 y 6 de julio 2010
Universitat Jaume I, Castellón
http://decharlas.uji.es/symfony
Jornadas Symfony http://decharlas.uji.es/symfony
Tuesday, July 6, 2010
3. sesión patrocinada por
www.laigu.net
...también hacemos webs...
Jornadas Symfony http://decharlas.uji.es/symfony
Tuesday, July 6, 2010
5. ¿A QUIÉN VA DIRIGIDO?
Ya conocéis Symfony.
Os preguntáis si vale la pena
utilizar Symfony.
Jornadas Symfony http://decharlas.uji.es/symfony
Tuesday, July 6, 2010
7. OBJETIVOS
¿Qué es un plugin, porqué plugins y estado de los plugins en
Sf a día de hoy?
Usar un plugin
Jornadas Symfony http://decharlas.uji.es/symfony
Tuesday, July 6, 2010
8. OBJETIVOS
¿Qué es un plugin, porqué plugins y estado de los plugins en
Sf a día de hoy?
Usar un plugin
¿Cómo debe ser un plugin y cómo encaja?
Estructura
Jornadas Symfony http://decharlas.uji.es/symfony
Tuesday, July 6, 2010
9. OBJETIVOS
¿Qué es un plugin, porqué plugins y estado de los plugins en
Sf a día de hoy?
Usar un plugin
¿Cómo debe ser un plugin y cómo encaja?
Estructura
Crear un plugin
Publicar un plugin
Jornadas Symfony http://decharlas.uji.es/symfony
Tuesday, July 6, 2010
10. OBJETIVOS
¿Qué es un plugin, porqué plugins y estado de los plugins en
Sf a día de hoy?
Usar un plugin
¿Cómo debe ser un plugin y cómo encaja?
Estructura
Crear un plugin
Publicar un plugin
Ejemplos de plugins
Jornadas Symfony http://decharlas.uji.es/symfony
Tuesday, July 6, 2010
11. ¿QUÉ ES UN PLUGIN?
Pieza de código que añade funcionalidades al proyecto
Una forma de empaquetar esas piezas
Añadir funcionalidad desde:
mini proyecto
1 librería (modelo, acciones,
plantillas, js, css...)
Jornadas Symfony http://decharlas.uji.es/symfony
Tuesday, July 6, 2010
12. ¿PORQUÉ PLUGINS?
Reutilizar y compartir código común:
Entre diversos proyectos
O mejor... para la comunidad (aprendiendo/
compartiendo)
Jornadas Symfony http://decharlas.uji.es/symfony
Tuesday, July 6, 2010
13. ¿PORQUÉ PLUGINS?
REUTILIZACIÓN
Reutilizar y compartir código común:
Entre diversos proyectos
O mejor... para la comunidad (aprendiendo/
compartiendo)
Jornadas Symfony http://decharlas.uji.es/symfony
Tuesday, July 6, 2010
14. PLUGINS A DIA DE HOY
2 de julio del 2010:
1055 plugins
2808 releases
442 developers
10809 users
Jornadas Symfony http://decharlas.uji.es/symfony
Tuesday, July 6, 2010
16. USAR UN PLUGIN
Leer el README
Instalarlo:
PEAR
./symfony plugin:install laiguSimplePlugin --stability=beta
Descargar el tar.gz; Copiar a /plugins/
svn:external/git
Jornadas Symfony http://decharlas.uji.es/symfony
Tuesday, July 6, 2010
17. USAR UN PLUGIN
Actívalo en tu proyecto:
/config/ProjectConfiguration.class.php:
class ProjectConfiguration extends sfProjectConfiguration
{
public function setup()
{
$this->enablePlugins('sfDoctrinePlugin', 'laiguSimplePlugin');
}
}
Activa los modules en tu aplicación (si es necesario):
/apps/frontend/config/settings.yml
all:
.settings:
enabled_modules: [default, sfGuardAuth, laiguSimple]
Jornadas Symfony http://decharlas.uji.es/symfony
Tuesday, July 6, 2010
18. ¿CÓMO DEBE SER UN
PLUGIN Y CÓMO ENCAJA?
Independiente de la aplicación o proyecto
Personalizable
aplicación
personalización
personalización
plugin personalización
Symfony
plugin
plugin
ORM
PHP
database
Jornadas Symfony http://decharlas.uji.es/symfony
Tuesday, July 6, 2010
19. ESTRUCTURA DEL
PLUGIN
Clases
Configuración
Schemas
Fixtures
Modules
Web assets
Tasks
...
Jornadas Symfony http://decharlas.uji.es/symfony
Tuesday, July 6, 2010
20. Jornadas Symfony http://decharlas.uji.es/symfony
Tuesday, July 6, 2010
21. Jornadas Symfony http://decharlas.uji.es/symfony
Tuesday, July 6, 2010
22. Jornadas Symfony http://decharlas.uji.es/symfony
Tuesday, July 6, 2010
23. Jornadas Symfony http://decharlas.uji.es/symfony
Tuesday, July 6, 2010
24. Jornadas Symfony http://decharlas.uji.es/symfony
Tuesday, July 6, 2010
27. CREAR UN PLUGIN
Escoger un nombre:
Prefijo (sf sólo para plugins oficiales)
Nombre principal
Añadir como sufijo “Plugin”
Ejemplo: laiguSimplePlugin
Crear carpeta plugins/laiguSimplePlugin
Jornadas Symfony http://decharlas.uji.es/symfony
Tuesday, July 6, 2010
28. AÑADIR
CONFIGURACIÓN
Escribe tu configuración por defecto:
plugins/laiguSimplePlugin/config/app.yml
all:
laigu_simple_plugin:
foo: bar
// ejemplo código en plug-in
$foo = sfConfig::get('app_laigu_simple_plugin_foo');
Personaliza para cada aplicación:
apps/<APP>/config/app.yml
// cambia el valor por defecto de 'foo' en la aplicación app.yml
all:
laigu_simple_plugin:
foo: barbar
Jornadas Symfony http://decharlas.uji.es/symfony
Tuesday, July 6, 2010
29. AÑADIR MODULES
La misma estructura que un módulo “normal”
Podéis mover módulos desde vuestra aplicación a la
carpeta modules/ del plugin
Recordad habilitar los módulos en el settings.yml
all:
.settings:
enabled_modules: [default, sfGuardAuth, laiguSimple]
Jornadas Symfony http://decharlas.uji.es/symfony
Tuesday, July 6, 2010
30. AÑADIR WEB ASSETS
Añadir web assets en la carpeta:
plugins/laiguSimplePlugin/web/
plugins/laiguSimplePlugin/web/js
plugins/laiguSimplePlugin/web/css
plugins/laiguSimplePlugin/web/images
symfony plugins:publish-assets
Jornadas Symfony http://decharlas.uji.es/symfony
Tuesday, July 6, 2010
31. AÑADIR CLASSES DE
MODELO
plugins/laiguSimplePlugin/config/schema.yml
Archivo habitual de esquema
Se pueden mezclar:
#schema original, en plugins/laiguSimplePlugin/config/schema.yml
Articulo:
columns:
nombre: string(50)
+
#schema proyecto, en config/schema.yml
Articulo:
columns:
titulo: string(50)
=
#resultado, mezclado interno y uso para generación de modelo y sql
Articulo:
columns:
nombre: string(50)
titulo: string(50)
Jornadas Symfony http://decharlas.uji.es/symfony
Tuesday, July 6, 2010
32. AÑADIR
FUNCIONALIDAD
Programad la funcionalidad
utilizando:
modules
classes
...
Jornadas Symfony http://decharlas.uji.es/symfony
Tuesday, July 6, 2010
33. PUBLÍCALO
Para uso privado
Utiliza un svn:external para incluirlo en tus proyectos
Para la comunidad
La comunidad os ayudará a encontrar y solucionar bugs y
perfeccionar vuestro plugin
Jornadas Symfony http://decharlas.uji.es/symfony
Tuesday, July 6, 2010
34. PUBLÍCALO
Para uso privado
Utiliza un svn:external para incluirlo en tus proyectos
Para la comunidad
La comunidad os ayudará a encontrar y solucionar bugs y
perfeccionar vuestro plugin
Fama
Jornadas Symfony http://decharlas.uji.es/symfony
Tuesday, July 6, 2010
35. AÑADIR ARCHIVO
README
Estructura:
Instalación
Configuración
Personalización
Limitaciones conocidas
TODO
Lista de cambios
Track Wiki Format
http://www.symfony-project.org/plugins/markdown_dingus
Jornadas Symfony http://decharlas.uji.es/symfony
Tuesday, July 6, 2010
36. AÑADIR ARCHIVO
LICENSE
Escoge una licencia:
MIT
BSD
LGPL
PHP License
Jornadas Symfony http://decharlas.uji.es/symfony
Tuesday, July 6, 2010
37. AÑADIR ARCHIVO
LICENSE
Escoge una licencia:
MIT
BSD
LGPL
PHP License
Jornadas Symfony http://decharlas.uji.es/symfony
Tuesday, July 6, 2010
38. EMPAQUETAR UN
PLUGIN
Los plugins Symfony son paquetes PEAR
Añadir package.xml
Name
Description
Summary
Autor/es
Versión
Estabilidad
Dependencias
Jornadas Symfony http://decharlas.uji.es/symfony
Tuesday, July 6, 2010
40. CREAR UN
PACKAGE.XML
PEAR_Package File Manager
http://pear.php.net/package/PEAR_PackageFileManager_Cli
Cuidado, en el archivo package.xml generado por esta
utilidad, se debe sustituir el valor del atributo rol “php”
por “data”
Jornadas Symfony http://decharlas.uji.es/symfony
Tuesday, July 6, 2010
41. SYMFONY-PROJECT.COM
Crea una cuenta
http://www.symfony-project.org/user/new
Crea el plugin
http://www.symfony-project.org/plugins/new
Sube el paquete PEAR que has creado
Publicítalo
mailing-list, forums, twitter...
Jornadas Symfony http://decharlas.uji.es/symfony
Tuesday, July 6, 2010
42. EJEMPLOS DE PLUGINS
laiguAdminThemePlugin
laiguExtGridPlugin
Jornadas Symfony http://decharlas.uji.es/symfony
Tuesday, July 6, 2010
43. CONCLUSIONES
Una gran forma de extender funcionalidades en el
framework
Una nueva forma de encapsular nuestro código
Muchos plugins disponibles
No todos son útiles y de calidad
Muchas opciones para la personalización
Si el plugin está desarrollado correctamente
Jornadas Symfony http://decharlas.uji.es/symfony
Tuesday, July 6, 2010
44. GRACIAS
Jordi Llonch email: jordi@laigu.net
twitter: jordillonch
Por cierto, buscamos programadores
para incorporar a nuestro equipo...
Jornadas Symfony http://decharlas.uji.es/symfony
Tuesday, July 6, 2010