introducción a symfony

Post on 07-Jul-2015

394 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Breve presentación sobre Symfony en el grupo Symfony Uruguay

TRANSCRIPT

1

1Saturday, August 31, 13

¿Que es Symfony?

2

2Saturday, August 31, 13

¿Que es Symfony?

•Conjunto de componentes

3

3Saturday, August 31, 13

¿Que es Symfony?

•Conjunto de componentes

•Full-stack Framework

4

4Saturday, August 31, 13

¿Que es Symfony?

•Conjunto de componentes

•Full-stack Framework

•Micro-framework

5

5Saturday, August 31, 13

¿Que es Symfony?

•Conjunto de componentes

•Full-stack Framework

•Micro-framework

•Una gran comunidad

6

6Saturday, August 31, 13

¿Objetivo?

7

7Saturday, August 31, 13

Objetivo

• No reinventar la rueda

8Saturday, August 31, 13

Objetivo

• No reinventar la rueda

• Separación - MVC

9Saturday, August 31, 13

Objetivo

• No reinventar la rueda

• Separación - MVC

• Calidad - TDD

10Saturday, August 31, 13

Objetivo

• No reinventar la rueda

• Separación - MVC

• Calidad - TDD

• Exportabilidad

11Saturday, August 31, 13

Objetivo

• No reinventar la rueda

• Separación - MVC

• Calidad - TDD

• Exportabilidad

• Velocidad

12Saturday, August 31, 13

Requerimientos

13

13Saturday, August 31, 13

Requerimientos

PHP >= 5.3.2

14

14Saturday, August 31, 13

PHP 5.3Namespaces

Namespace\Class

15

15Saturday, August 31, 13

PHP 5.3Funciones lambda & Closures

$items = array_filter(array(1, 2, 3, 4, 5),create_function('$item', 'return 4 > $item;')

);

16

16Saturday, August 31, 13

PHP 5.3Funciones lambda & Closures

$items = array_filter(array(1, 2, 3, 4, 5), function ($item) { return 4 > $item;});

17

17Saturday, August 31, 13

Componentes

18

18Saturday, August 31, 13

Componentes

•Librerías standalone

• Implementan cierta funcionalidad

•Son la base del framework

19Saturday, August 31, 13

ComponentesBrowserKit Class loader Config Console CSS

Selector

Debug Dependency InjectionDependency Injection Dom Crawler

Event Dispatcher

Filesystem Finder Form HTTP FoundationHTTP Foundation

HTTP KernelHTTP Kernel Intl Locale Options Resolver

Process Property Access

Routing Security Serializer

Stopwatch Templating Yaml

20Saturday, August 31, 13

ComponentesBrowserKit Class loader Config Console CSS

Selector

Debug Dependency InjectionDependency Injection Dom Crawler

Event Dispatcher

Filesystem Finder Form HTTP FoundationHTTP Foundation

HTTP KernelHTTP Kernel Intl Locale Options Resolver

Process Property Access

Routing Security Serializer

Stopwatch Templating Yaml

21Saturday, August 31, 13

Full-stack Framework

22

22Saturday, August 31, 13

├── app│ ├── Resources│ ├── cache│ ├── config│ ├── logs│ └── AppKernel.php├── src│ └── Acme├── vendor└── web ├── bundles ├── css ├── images └── js

Estructura de archivos por defecto.

El proyecto

23

23Saturday, August 31, 13

├── app│ ├── Resources│ ├── cache│ ├── config│ ├── logs│ └── AppKernel.php├── src│ └── Acme├── vendor└── web ├── bundles ├── css ├── images └── js

Contiene los archivos inician la ejecución de la aplicación, configuraciones, archivos de cache y recursos.

La aplicación

24

24Saturday, August 31, 13

├── app│ ├── Resources│ ├── cache│ ├── config│ ├── logs│ └── AppKernel.php├── src│ └── Acme├── vendor└── web ├── bundles ├── css ├── images └── js

Aquí se ubican los paquetes(bundles) y librerías comunes a todas las aplicaciones del proyecto

Librerías del proyecto

25

25Saturday, August 31, 13

├── app│ ├── Resources│ ├── cache│ ├── config│ ├── logs│ └── AppKernel.php├── src│ └── Acme├── vendor└── web ├── bundles ├── css ├── images └── js

•Librerías standalone.•No específicas del proyecto•Symfony!

Librerías de terceros

26

26Saturday, August 31, 13

├── app│ ├── Resources│ ├── cache│ ├── config│ ├── logs│ └── AppKernel.php├── src│ └── Acme├── vendor└── web ├── bundles ├── css ├── images └── js

•Único directorio público del proyecto•Front controllers•Assets•Uploads

Document root

27

27Saturday, August 31, 13

• Implementación de una funcionalidad específica

• Paquete exclusivo para uso en proyectos symfony.

• Permite empaquetar funcionalidades

• Integra librerías externas

Bundles

28

28Saturday, August 31, 13

├── AcmeDemoBundle.php├── Controller│ ├── DemoController.php├── DependencyInjection│ └── AcmeDemoExtension.php├── Entity├── Resources│ ├── config│ ├── public│ └── views│ └── Demo│ └── index.html.twig└── Tests

Estructura de archivos por defecto.

Bundles

29

29Saturday, August 31, 13

├── AcmeDemoBundle.php├── Controller│ ├── DemoController.php├── DependencyInjection│ └── AcmeDemoExtension.php├── Entity├── Resources│ ├── config│ ├── public│ └── views│ └── Demo│ └── index.html.twig└── Tests

Cotroladores. Es donde se encuentra la lógica de nuestro paquete.

Bundles

30

30Saturday, August 31, 13

├── AcmeDemoBundle.php├── Controller│ ├── DemoController.php├── DependencyInjection│ └── AcmeDemoExtension.php├── Entity├── Resources│ ├── config│ ├── public│ └── views│ └── Demo│ └── index.html.twig└── Tests

Es donde se procesa la configuración de nuestro paquete.

Bundles

31

31Saturday, August 31, 13

├── AcmeDemoBundle.php├── Controller│ ├── DemoController.php├── DependencyInjection│ └── AcmeDemoExtension.php├── Entity├── Resources│ ├── config│ ├── public│ └── views│ └── Demo│ └── index.html.twig└── Tests

• El modelo• Interacción con la base

de datos.

Bundles

32

32Saturday, August 31, 13

├── AcmeDemoBundle.php├── Controller│ ├── DemoController.php├── DependencyInjection│ └── AcmeDemoExtension.php├── Entity├── Resources│ ├── config│ ├── public│ └── views│ └── Demo│ └── index.html.twig└── Tests

Recursos del paquete tales como la configuración de servicios, archivos públicos y templates.

Bundles

33

33Saturday, August 31, 13

├── AcmeDemoBundle.php├── Controller│ ├── DemoController.php├── DependencyInjection│ └── AcmeDemoExtension.php├── Entity├── Resources│ ├── config│ ├── public│ └── views│ └── Demo│ └── index.html.twig└── Tests

Test cases para las distintas funcionalidades de nuestro paquete.

Bundles

34

34Saturday, August 31, 13

Bundles

src/VendorName/MyBundle

35

35Saturday, August 31, 13

Micro Framework

36

36Saturday, August 31, 13

Micro Framework

37

Silex Cilex

37Saturday, August 31, 13

Micro Framework

38

Silex

38Saturday, August 31, 13

¿Quién lo usa?

39

39Saturday, August 31, 13

¿Preguntas?

40

40Saturday, August 31, 13

¡Gracias!

41

41Saturday, August 31, 13

top related