SlideShare ist ein Scribd-Unternehmen logo
1 von 41
Downloaden Sie, um offline zu lesen
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.3
Namespaces
NamespaceClass
15
15Saturday, August 31, 13
PHP 5.3
Funciones lambda & Closures
$items = array_filter(
array(1, 2, 3, 4, 5),
create_function('$item', 'return 4 > $item;')
);
16
16Saturday, August 31, 13
PHP 5.3
Funciones 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
Componentes
BrowserKit 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
Componentes
BrowserKit 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

Weitere ähnliche Inhalte

Ähnlich wie Introducción a Symfony

Usando Django con Docker
Usando Django con DockerUsando Django con Docker
Usando Django con DockerErnesto Crespo
 
Despliegue de aplicaciones PHP
Despliegue de aplicaciones PHPDespliegue de aplicaciones PHP
Despliegue de aplicaciones PHPAlicantePHP
 
Distribucion_aplicaciones
Distribucion_aplicacionesDistribucion_aplicaciones
Distribucion_aplicacionesJuanjo Marin
 
PARADIGMAS FP Y OOP USANDO TÉCNICAS AVANZADAS DE PROGRAMACIÓN ASÍNCRONA
PARADIGMAS FP  Y OOP USANDO TÉCNICAS AVANZADAS DE PROGRAMACIÓN ASÍNCRONAPARADIGMAS FP  Y OOP USANDO TÉCNICAS AVANZADAS DE PROGRAMACIÓN ASÍNCRONA
PARADIGMAS FP Y OOP USANDO TÉCNICAS AVANZADAS DE PROGRAMACIÓN ASÍNCRONAVíctor Bolinches
 
Virtualziación de Sistema Operativo: la niña bonita sin novio
Virtualziación de Sistema Operativo: la niña bonita sin novioVirtualziación de Sistema Operativo: la niña bonita sin novio
Virtualziación de Sistema Operativo: la niña bonita sin novioRodolfo Pilas
 
[Shared] ML Bootcamp - GDG Barcelona - Semana 4.pptx
[Shared] ML Bootcamp - GDG Barcelona - Semana 4.pptx[Shared] ML Bootcamp - GDG Barcelona - Semana 4.pptx
[Shared] ML Bootcamp - GDG Barcelona - Semana 4.pptxGabriela Soto
 
Automatizar detecciones de amenazas y evitar falsos positivos
Automatizar detecciones de amenazas y evitar falsos positivosAutomatizar detecciones de amenazas y evitar falsos positivos
Automatizar detecciones de amenazas y evitar falsos positivosElasticsearch
 
Grails 2013 - PUCMM - Santiago - Sistemas
Grails 2013 - PUCMM - Santiago - SistemasGrails 2013 - PUCMM - Santiago - Sistemas
Grails 2013 - PUCMM - Santiago - SistemasCarlos Camacho
 
Realidad Aumentada 01 documentacion tapir
Realidad Aumentada 01 documentacion tapirRealidad Aumentada 01 documentacion tapir
Realidad Aumentada 01 documentacion tapirAgustín Hv
 
Magallanes, Herramienta de despliegue PHP sencilla y poderosa
Magallanes, Herramienta de despliegue PHP sencilla y poderosa�Magallanes, Herramienta de despliegue PHP sencilla y poderosa�
Magallanes, Herramienta de despliegue PHP sencilla y poderosaFco Javier Núñez Berrocoso
 
Cómo diagnosticar problemas de rendimiento en entornos LAMP
Cómo diagnosticar problemas de rendimiento en entornos LAMPCómo diagnosticar problemas de rendimiento en entornos LAMP
Cómo diagnosticar problemas de rendimiento en entornos LAMPJavier Carranza
 
Mootools Y Otros Frameworks JS
Mootools Y Otros Frameworks JSMootools Y Otros Frameworks JS
Mootools Y Otros Frameworks JSIan Monge Pérez
 

Ähnlich wie Introducción a Symfony (20)

Archlinux
ArchlinuxArchlinux
Archlinux
 
Archlinux
ArchlinuxArchlinux
Archlinux
 
Usando Django con Docker
Usando Django con DockerUsando Django con Docker
Usando Django con Docker
 
Despliegue de aplicaciones PHP
Despliegue de aplicaciones PHPDespliegue de aplicaciones PHP
Despliegue de aplicaciones PHP
 
Distribucion_aplicaciones
Distribucion_aplicacionesDistribucion_aplicaciones
Distribucion_aplicaciones
 
Presentación GridUAM 201112
Presentación GridUAM 201112Presentación GridUAM 201112
Presentación GridUAM 201112
 
Docker y PostgreSQL
Docker y PostgreSQLDocker y PostgreSQL
Docker y PostgreSQL
 
PARADIGMAS FP Y OOP USANDO TÉCNICAS AVANZADAS DE PROGRAMACIÓN ASÍNCRONA
PARADIGMAS FP  Y OOP USANDO TÉCNICAS AVANZADAS DE PROGRAMACIÓN ASÍNCRONAPARADIGMAS FP  Y OOP USANDO TÉCNICAS AVANZADAS DE PROGRAMACIÓN ASÍNCRONA
PARADIGMAS FP Y OOP USANDO TÉCNICAS AVANZADAS DE PROGRAMACIÓN ASÍNCRONA
 
Hacking Etico by pseudor00t
Hacking Etico by pseudor00tHacking Etico by pseudor00t
Hacking Etico by pseudor00t
 
Modulo 5
Modulo 5Modulo 5
Modulo 5
 
Virtualziación de Sistema Operativo: la niña bonita sin novio
Virtualziación de Sistema Operativo: la niña bonita sin novioVirtualziación de Sistema Operativo: la niña bonita sin novio
Virtualziación de Sistema Operativo: la niña bonita sin novio
 
[Shared] ML Bootcamp - GDG Barcelona - Semana 4.pptx
[Shared] ML Bootcamp - GDG Barcelona - Semana 4.pptx[Shared] ML Bootcamp - GDG Barcelona - Semana 4.pptx
[Shared] ML Bootcamp - GDG Barcelona - Semana 4.pptx
 
Automatizar detecciones de amenazas y evitar falsos positivos
Automatizar detecciones de amenazas y evitar falsos positivosAutomatizar detecciones de amenazas y evitar falsos positivos
Automatizar detecciones de amenazas y evitar falsos positivos
 
Grails 2013 - PUCMM - Santiago - Sistemas
Grails 2013 - PUCMM - Santiago - SistemasGrails 2013 - PUCMM - Santiago - Sistemas
Grails 2013 - PUCMM - Santiago - Sistemas
 
Realidad Aumentada 01 documentacion tapir
Realidad Aumentada 01 documentacion tapirRealidad Aumentada 01 documentacion tapir
Realidad Aumentada 01 documentacion tapir
 
Magallanes, Herramienta de despliegue PHP sencilla y poderosa
Magallanes, Herramienta de despliegue PHP sencilla y poderosa�Magallanes, Herramienta de despliegue PHP sencilla y poderosa�
Magallanes, Herramienta de despliegue PHP sencilla y poderosa
 
Cómo diagnosticar problemas de rendimiento en entornos LAMP
Cómo diagnosticar problemas de rendimiento en entornos LAMPCómo diagnosticar problemas de rendimiento en entornos LAMP
Cómo diagnosticar problemas de rendimiento en entornos LAMP
 
Mootools Y Otros Frameworks JS
Mootools Y Otros Frameworks JSMootools Y Otros Frameworks JS
Mootools Y Otros Frameworks JS
 
Open Build Service
Open Build ServiceOpen Build Service
Open Build Service
 
Introduction grails-es
Introduction grails-esIntroduction grails-es
Introduction grails-es
 

Kürzlich hochgeladen

Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 

Kürzlich hochgeladen (12)

Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 

Introducción a Symfony