SlideShare una empresa de Scribd logo
1 de 63
Descargar para leer sin conexión
Introducción a Silex
Aprendiendo a hacer las cosas bien con PHP
Daniel Primo
@delineas
www.danielprimo.es
Vamos a aprender PHP
Vamos a aprender PHP
¿Quién soy?
Daniel Primo
@delineas
danielprimo.es
“Constructor freelance de mundo online”
No soy un experto.
Sólo os cuento mi experiencia.
¿Soy programdor?
Soy programador constructor
El día que todo cambió
9 de Noviembre de 2012
“Exorcismo de codigo en PHP”
Charla de Agilecyl con Pepe Doval
Si no aspiras a mejorar en tu trabajo,
¿por qué aspiras a cobrar por ello?
Soy programador
Y a medio camino...
¿Qué es el sílex?
El sílex (SiO2), se usó en la Edad de Piedra para la elaboración de
herramientas cortantes, por su capacidad de romperse en lascas
(fractura concoidea, láminas rectas con ligeras curvas) de bordes muy
agudos.
También fue usado para encender fuego por su capacidad de crear
chispas al chocarse con otra pieza de igual o mayor dureza.
Generalmente se halla asociado con la caliza, rocas sedimentarias
formadas por carbonato de calcio, depositadas en aguas profundas.
Típicamente se presenta en forma de nódulos entre estratos de caliza.
Fuente: Wikipedia
¿Qué es Silex?
Es un microframework de PHP. Construido a
hombros de Symfony2 y Pimple e inspirado en
Sinatra (ruby).
http://silex.sensiolabs.org/
¿Y por qué es un microframework?
● Conciso: API fácil y divertida de manejar
● Extensible: A partir del micro service-container
Pimple es sencillo incluir librerías de terceros
● Testable: Silex utiliza el componente
HttpKernel de Symfony2 lo que permite
abstraer petición y respuesta, lo que permite
testearlo con facilidad
Request Routing Controller Response
1 2 3 4
Request – Reponse
Hola Mundo!
En el navegador
localhost:8888/hello/chicken
Request
1
Genera una petición
GET /hello/chicken
Captura la petición
Parámetro name reconocido
Routing
2
Controlador
Ejecuta la lógica (función anónima)
Controller
3
Respuesta
Salida por pantalla
Response
4
Raíz de la web
Autocarga de clases
Creación de la aplicación
Ejecución de la aplicación
Herencia de variable:
No es parámetro, es el
contenedor de todo
PHP 5.3
Algunas cosas más
Instalación
www.getcomposer.org
Instalación básica
● Descarga
http://silex.sensiolabs.org/download
● Composer
→ creamos fichero composer.json
composer install
Instalación “potencier”
● Descarga
https://github.com/silexphp/Silex-Skeleton
● Composer
composer create-project fabpot/silex-skeleton
myapp ~2.0@dev
● Código más ordenado
● Librerías precargadas
● Código de ejemplo
Skeleton
Skeleton
● config: Aquí estará la configuración específica de cada entorno
(desarrollo, producción).
● var/logs: Ficheros de log.
● var/cache: Directorio donde se almacenará la caché de Twig y el
Profiler
● src: Código de la aplicación.
– app.php → carga de providers
– controllers.php → definición de rutas/controladores
● templates: plantillas de Twig.
● vendor: librerías de terceros
● web: directorio accesible vía web, estarán los controladores frontales
y los assets.
– index.php → producción
– index_dev.php → desarrollo
Arrancamos el servidor
● Composer (definido en composer.json)
composer run
● Servidor nativo de PHP 5.4
php -S localhost:8888 -t web web/index_dev.php
php -S localhost:8888 -t web web/index.php
● Servidor Apache configurado
¿Cuándo lo uso?
Lo bueno
● En pocos minutos tienes resultados
● Es fácil hacerlo crecer
● Ordenado, sino se hace muy grande
● Toda la potencia de symfony
● Se pueden ejecutar tests
● Estructura flexible
● Bien documentado
Lo malo
● Si crece mucho puedes caer en el caos
● Pretender llegar al infinito (infinito = symfony)
● No es igual de bueno para proyectos grandes
● Errores por exceso de magia (o por
desconocimiento del truco)
● Debes tener clara la estructura de tu código
Caso de estudio
● Primera página de reclamo
● Segunda página con formulario
● Formulario necesita validaciones específicas
● Al enviar el formulario se envía un correo con
datos y se guarda en base de datos
● Intregación con TPV Sermepa
● Páginas estáticas de aviso legal, identidad...
Recordemos nuestra app
Modificadores de ruta
Proveedores (Providers)
Inyección de dependencias
La inyección de dependencias es un patrón de
diseño en el que las dependencias se pasan
directamente a los servicios, en vez de crearlas
dentro de los propios servicios o en vez de utilizar
variables globales.
Si se utiliza bien, la inyección de dependencias
hace que el código resultante esté más
desacoplado, sea más flexible y fácil de testear
y se pueda reutilizar más fácilmente.
Pimple
¡No solo eso!
También es un contenedor de servicios
$app
● $app es un contenedor de servicios extensión
de Pimple
●
●
● Asignar un “closure” a una clave del array del
contenedor
● “share” indica que es compartido para toda la
aplicación (puede usarse una y otra vez)
Twig: plantillas
#app.php
#controllers.php
#hello.twig
Form: formularios (I)
Servicio de creación de forms
Request, para saber lo que enviamos
Form: formularios (II)
Si ha sido enviado procesamos
Si es válido continuamos
Redireccionamos para acabar
El controlador devuelve la plantilla
con el formulario pintado
Form: formularios (III)
Form: formularios (IV)
Validaciones
Doctrine: base de datos
API
Y ya está...
Y más
● http_cache, integra el proxy
inverso de Symfony2
● monolog, proporciona un
sistema de logs
● security, se encarga de
gestionar la autenticación y la
autorización de acceso
● serializer, proporciona un
servicio para serializar objetos.
● validator, permite validar
información
● session, almacenar información
de forma persistente entre
diferentes peticiones.
● swiftmailer, permite enviar
emails utilizando la librería Swift
Mailer.
● translation, proporciona un
servicio que facilita la
traducción de tu aplicación a
diferentes idiomas.
● url_generator, proporciona un
servicio para poder generar
URL a partir del nombre de la
ruta.
- ¿Perdona?
- Si
- ¿No dijiste que íbamos a hacer las cosas bien?
- Si, ¿qué pasa?
- Cuantas líneas tiene esa cosa todas juntas...
- Ehhhh...
Ordena tu código
● Estructura en carpetas: views, form...
● Estructura el enrutado / controlador
– Controladores en clases PHP normales
– Controladores como ControllerProviders
– Providers propios
● Otras ayudas
– Configuración en ficheros YAML (rutas, opciones)
● http://librosweb.es/tutorial/como-organizar-bien-un-proyecto-silex/
Controladores en clases
Controladores en clases
ControllerProvider
Tests
● PHPUnit
● WebTestCase para tests funcionales
● Crawler como symfony :)
● http://librosweb.es/libro/silex/capitulo_7.html
Nuestro provider
Protegido
Parámetro por defecto
Crea el servicio y lo registra
Configura la aplicación antes de la petición
Nuestro provider
Registro en la applicación
Show me the code
https://github.com/delineas/IntroSilex
Muchas Gracias
@delineas
danielprimo.es
dani@danielprimo.es

Más contenido relacionado

La actualidad más candente

Desarrollo Web Ágil con Symfony, Bootstrap y Angular
Desarrollo Web Ágil con Symfony, Bootstrap y AngularDesarrollo Web Ágil con Symfony, Bootstrap y Angular
Desarrollo Web Ágil con Symfony, Bootstrap y AngularFreelancer
 
Materiales del curso de Symfony2
Materiales del curso de Symfony2Materiales del curso de Symfony2
Materiales del curso de Symfony2Raul Fraile
 
Endpoints Seguros en nuestra Rest-API
Endpoints Seguros en nuestra Rest-APIEndpoints Seguros en nuestra Rest-API
Endpoints Seguros en nuestra Rest-APIEric Zeidan
 
API REST conceptos (Rails-api)
API REST conceptos (Rails-api)API REST conceptos (Rails-api)
API REST conceptos (Rails-api)Daryl Moreno
 
Introducción a PHP - Programador PHP - UGR
Introducción a PHP - Programador PHP - UGRIntroducción a PHP - Programador PHP - UGR
Introducción a PHP - Programador PHP - UGRJuan Belón Pérez
 
Taller introduccion symfony2
Taller introduccion symfony2Taller introduccion symfony2
Taller introduccion symfony2Mario IC
 
Clase 5 controller
Clase 5 controllerClase 5 controller
Clase 5 controllerhydras_cs
 
Probando las vistas
Probando las vistasProbando las vistas
Probando las vistasRubyc Slides
 
Masterclass PHP 5.3
Masterclass PHP 5.3Masterclass PHP 5.3
Masterclass PHP 5.3ADWE Team
 
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
 
Ansible administracion simplificada
Ansible   administracion simplificada Ansible   administracion simplificada
Ansible administracion simplificada bcoca
 
Por qué Symfony2 es tan rápido
Por qué Symfony2 es tan rápidoPor qué Symfony2 es tan rápido
Por qué Symfony2 es tan rápidoCarlos Granados
 
Código mantenible, en Wordpress.
Código mantenible, en Wordpress.Código mantenible, en Wordpress.
Código mantenible, en Wordpress.Asier Marqués
 

La actualidad más candente (20)

Composer: Gestionando dependencias en PHP
Composer: Gestionando dependencias en PHP Composer: Gestionando dependencias en PHP
Composer: Gestionando dependencias en PHP
 
Desarrollo Web Ágil con Symfony, Bootstrap y Angular
Desarrollo Web Ágil con Symfony, Bootstrap y AngularDesarrollo Web Ágil con Symfony, Bootstrap y Angular
Desarrollo Web Ágil con Symfony, Bootstrap y Angular
 
Backend (sf2Vigo)
Backend (sf2Vigo)Backend (sf2Vigo)
Backend (sf2Vigo)
 
CRUD básico con Symfony
CRUD básico con SymfonyCRUD básico con Symfony
CRUD básico con Symfony
 
Materiales del curso de Symfony2
Materiales del curso de Symfony2Materiales del curso de Symfony2
Materiales del curso de Symfony2
 
Endpoints Seguros en nuestra Rest-API
Endpoints Seguros en nuestra Rest-APIEndpoints Seguros en nuestra Rest-API
Endpoints Seguros en nuestra Rest-API
 
API REST conceptos (Rails-api)
API REST conceptos (Rails-api)API REST conceptos (Rails-api)
API REST conceptos (Rails-api)
 
Introducción a PHP - Programador PHP - UGR
Introducción a PHP - Programador PHP - UGRIntroducción a PHP - Programador PHP - UGR
Introducción a PHP - Programador PHP - UGR
 
Fabric más allá de lo básico
Fabric más allá de lo básicoFabric más allá de lo básico
Fabric más allá de lo básico
 
Taller introduccion symfony2
Taller introduccion symfony2Taller introduccion symfony2
Taller introduccion symfony2
 
Clase 5 controller
Clase 5 controllerClase 5 controller
Clase 5 controller
 
Probando las vistas
Probando las vistasProbando las vistas
Probando las vistas
 
Masterclass PHP 5.3
Masterclass PHP 5.3Masterclass PHP 5.3
Masterclass PHP 5.3
 
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
 
Ansible administracion simplificada
Ansible   administracion simplificada Ansible   administracion simplificada
Ansible administracion simplificada
 
Por qué Symfony2 es tan rápido
Por qué Symfony2 es tan rápidoPor qué Symfony2 es tan rápido
Por qué Symfony2 es tan rápido
 
Código mantenible, en Wordpress.
Código mantenible, en Wordpress.Código mantenible, en Wordpress.
Código mantenible, en Wordpress.
 
RabbitMQ y Symfony
RabbitMQ y SymfonyRabbitMQ y Symfony
RabbitMQ y Symfony
 
3 curso php
3 curso php3 curso php
3 curso php
 
Advanced angular 2
Advanced angular 2Advanced angular 2
Advanced angular 2
 

Destacado

Destacado (6)

¿Por qué conviene construir un Repositorio Institucional?
¿Por qué conviene construir un Repositorio Institucional?¿Por qué conviene construir un Repositorio Institucional?
¿Por qué conviene construir un Repositorio Institucional?
 
Complex Sites with Silex
Complex Sites with SilexComplex Sites with Silex
Complex Sites with Silex
 
Silex: From nothing to an API
Silex: From nothing to an APISilex: From nothing to an API
Silex: From nothing to an API
 
Mis primeros pasos con Symfony 2
Mis primeros pasos con Symfony 2Mis primeros pasos con Symfony 2
Mis primeros pasos con Symfony 2
 
Silex meets SOAP & REST
Silex meets SOAP & RESTSilex meets SOAP & REST
Silex meets SOAP & REST
 
Repositorio Digital
Repositorio DigitalRepositorio Digital
Repositorio Digital
 

Similar a Introducción a Silex. Aprendiendo a hacer las cosas bien en PHP

Symfony: construyendo aplicaciones web
Symfony: construyendo aplicaciones webSymfony: construyendo aplicaciones web
Symfony: construyendo aplicaciones websergiovier
 
¿Grails + DDD + Eventsourcing + CQRS?
¿Grails + DDD + Eventsourcing + CQRS?¿Grails + DDD + Eventsourcing + CQRS?
¿Grails + DDD + Eventsourcing + CQRS?Jorge Franco Leza
 
Desymfony - Servicios
Desymfony  - ServiciosDesymfony  - Servicios
Desymfony - ServiciosRicard Clau
 
Adentrándonos al Framework Symfony
Adentrándonos al  Framework SymfonyAdentrándonos al  Framework Symfony
Adentrándonos al Framework SymfonyRodrigo Miranda
 
Symfony en la gestión de un centro de computación avanzada
Symfony en la gestión de un centro de computación avanzadaSymfony en la gestión de un centro de computación avanzada
Symfony en la gestión de un centro de computación avanzadaCésar Suárez Ortega
 
Caso práctico II: symfony en la gestión de un centro de computación avanzada ...
Caso práctico II: symfony en la gestión de un centro de computación avanzada ...Caso práctico II: symfony en la gestión de un centro de computación avanzada ...
Caso práctico II: symfony en la gestión de un centro de computación avanzada ...Decharlas
 
Trabajo escrito de contra jornada
Trabajo escrito de contra jornadaTrabajo escrito de contra jornada
Trabajo escrito de contra jornadaBryanandrey
 
Desarrollo de aplicaciones web con PHP y symfony
Desarrollo de aplicaciones web con PHP y symfonyDesarrollo de aplicaciones web con PHP y symfony
Desarrollo de aplicaciones web con PHP y symfonyJuan Eladio Sánchez Rosas
 
Python para desarrollo web de ultima generación
Python para desarrollo web de ultima generaciónPython para desarrollo web de ultima generación
Python para desarrollo web de ultima generaciónFutura Networks
 
Symfony2 un framework para maximizar tu productividad en desarrollo web
Symfony2 un framework para maximizar tu productividad en desarrollo webSymfony2 un framework para maximizar tu productividad en desarrollo web
Symfony2 un framework para maximizar tu productividad en desarrollo webIEBSchool
 
Symfony2 Introducción
Symfony2 IntroducciónSymfony2 Introducción
Symfony2 Introducciónstrate
 
Taller evento TestingUY 2015 - Técnicas de Automatización Going from GOOD to ...
Taller evento TestingUY 2015 - Técnicas de Automatización Going from GOOD to ...Taller evento TestingUY 2015 - Técnicas de Automatización Going from GOOD to ...
Taller evento TestingUY 2015 - Técnicas de Automatización Going from GOOD to ...TestingUy
 
Symfony-Community: Introducción a Symfony Framework
Symfony-Community: Introducción a Symfony FrameworkSymfony-Community: Introducción a Symfony Framework
Symfony-Community: Introducción a Symfony Frameworkexcedesoft
 
Code Blast 2012 - Node.js
Code Blast 2012 - Node.jsCode Blast 2012 - Node.js
Code Blast 2012 - Node.jsINSIGNIA4U
 

Similar a Introducción a Silex. Aprendiendo a hacer las cosas bien en PHP (20)

Introducción a Silex
Introducción a SilexIntroducción a Silex
Introducción a Silex
 
Symfony: construyendo aplicaciones web
Symfony: construyendo aplicaciones webSymfony: construyendo aplicaciones web
Symfony: construyendo aplicaciones web
 
¿Grails + DDD + Eventsourcing + CQRS?
¿Grails + DDD + Eventsourcing + CQRS?¿Grails + DDD + Eventsourcing + CQRS?
¿Grails + DDD + Eventsourcing + CQRS?
 
Desymfony - Servicios
Desymfony  - ServiciosDesymfony  - Servicios
Desymfony - Servicios
 
Adentrándonos al Framework Symfony
Adentrándonos al  Framework SymfonyAdentrándonos al  Framework Symfony
Adentrándonos al Framework Symfony
 
Symfony en la gestión de un centro de computación avanzada
Symfony en la gestión de un centro de computación avanzadaSymfony en la gestión de un centro de computación avanzada
Symfony en la gestión de un centro de computación avanzada
 
Caso práctico II: symfony en la gestión de un centro de computación avanzada ...
Caso práctico II: symfony en la gestión de un centro de computación avanzada ...Caso práctico II: symfony en la gestión de un centro de computación avanzada ...
Caso práctico II: symfony en la gestión de un centro de computación avanzada ...
 
Trabajo escrito de contra jornada
Trabajo escrito de contra jornadaTrabajo escrito de contra jornada
Trabajo escrito de contra jornada
 
Desarrollo de aplicaciones web con PHP y symfony
Desarrollo de aplicaciones web con PHP y symfonyDesarrollo de aplicaciones web con PHP y symfony
Desarrollo de aplicaciones web con PHP y symfony
 
Gestión Remota de Equipos con Python
Gestión Remota de Equipos con PythonGestión Remota de Equipos con Python
Gestión Remota de Equipos con Python
 
Web service
Web serviceWeb service
Web service
 
Web service
Web serviceWeb service
Web service
 
Python para desarrollo web de ultima generación
Python para desarrollo web de ultima generaciónPython para desarrollo web de ultima generación
Python para desarrollo web de ultima generación
 
Symfony2 un framework para maximizar tu productividad en desarrollo web
Symfony2 un framework para maximizar tu productividad en desarrollo webSymfony2 un framework para maximizar tu productividad en desarrollo web
Symfony2 un framework para maximizar tu productividad en desarrollo web
 
Tema 1
Tema 1Tema 1
Tema 1
 
Symfony2 Introducción
Symfony2 IntroducciónSymfony2 Introducción
Symfony2 Introducción
 
Taller evento TestingUY 2015 - Técnicas de Automatización Going from GOOD to ...
Taller evento TestingUY 2015 - Técnicas de Automatización Going from GOOD to ...Taller evento TestingUY 2015 - Técnicas de Automatización Going from GOOD to ...
Taller evento TestingUY 2015 - Técnicas de Automatización Going from GOOD to ...
 
Symfony-Community: Introducción a Symfony Framework
Symfony-Community: Introducción a Symfony FrameworkSymfony-Community: Introducción a Symfony Framework
Symfony-Community: Introducción a Symfony Framework
 
Code Blast 2012 - Node.js
Code Blast 2012 - Node.jsCode Blast 2012 - Node.js
Code Blast 2012 - Node.js
 
SimpleSAMLphp
SimpleSAMLphpSimpleSAMLphp
SimpleSAMLphp
 

Más de Daniel Primo

Análisis de Grav Cms, ¿es mejor que Wordpress?
Análisis de Grav Cms, ¿es mejor que Wordpress?Análisis de Grav Cms, ¿es mejor que Wordpress?
Análisis de Grav Cms, ¿es mejor que Wordpress?Daniel Primo
 
Construyendo redes sociales con herramientas de software libre #OpenExpoSMAC
Construyendo redes sociales con herramientas de software libre #OpenExpoSMACConstruyendo redes sociales con herramientas de software libre #OpenExpoSMAC
Construyendo redes sociales con herramientas de software libre #OpenExpoSMACDaniel Primo
 
Agregadores: convirtiendo Drupal en una central de contenidos
Agregadores: convirtiendo Drupal en una central de contenidosAgregadores: convirtiendo Drupal en una central de contenidos
Agregadores: convirtiendo Drupal en una central de contenidosDaniel Primo
 
Construyendo una red social con Drupal
Construyendo una red social con DrupalConstruyendo una red social con Drupal
Construyendo una red social con DrupalDaniel Primo
 
Drupal: Introducción al módulo CCK
Drupal: Introducción al módulo CCKDrupal: Introducción al módulo CCK
Drupal: Introducción al módulo CCKDaniel Primo
 
Drupal: Introducción al módulo views
Drupal: Introducción al módulo viewsDrupal: Introducción al módulo views
Drupal: Introducción al módulo viewsDaniel Primo
 
Drupal: Taxonomías y categorías
Drupal: Taxonomías y categoríasDrupal: Taxonomías y categorías
Drupal: Taxonomías y categoríasDaniel Primo
 
El wiki: Entornos colaborativos en Internet de aplicación en el aula
El wiki: Entornos colaborativos en Internet de aplicación en el aulaEl wiki: Entornos colaborativos en Internet de aplicación en el aula
El wiki: Entornos colaborativos en Internet de aplicación en el aulaDaniel Primo
 
Aplicaciones en la web para el aula de Matemáticas
Aplicaciones en la web para el aula de MatemáticasAplicaciones en la web para el aula de Matemáticas
Aplicaciones en la web para el aula de MatemáticasDaniel Primo
 
Introducción a los sistemas de gestion de contenidos (CMS)
Introducción a los sistemas de gestion de contenidos (CMS)Introducción a los sistemas de gestion de contenidos (CMS)
Introducción a los sistemas de gestion de contenidos (CMS)Daniel Primo
 
Introduccion a Drupal
Introduccion a DrupalIntroduccion a Drupal
Introduccion a DrupalDaniel Primo
 
Blogs en Herramientas multimedia para Ciencias de la Naturaleza (CFIE Léon)
Blogs en Herramientas multimedia para Ciencias de la Naturaleza (CFIE Léon)Blogs en Herramientas multimedia para Ciencias de la Naturaleza (CFIE Léon)
Blogs en Herramientas multimedia para Ciencias de la Naturaleza (CFIE Léon)Daniel Primo
 
Herramientas colaborativas: Podcast
Herramientas colaborativas: PodcastHerramientas colaborativas: Podcast
Herramientas colaborativas: PodcastDaniel Primo
 
Herramientas colaborativas: Marcadores sociales
Herramientas colaborativas: Marcadores socialesHerramientas colaborativas: Marcadores sociales
Herramientas colaborativas: Marcadores socialesDaniel Primo
 
Herramientas colaborativas en educación: Web 2.0
Herramientas colaborativas en educación: Web 2.0Herramientas colaborativas en educación: Web 2.0
Herramientas colaborativas en educación: Web 2.0Daniel Primo
 

Más de Daniel Primo (15)

Análisis de Grav Cms, ¿es mejor que Wordpress?
Análisis de Grav Cms, ¿es mejor que Wordpress?Análisis de Grav Cms, ¿es mejor que Wordpress?
Análisis de Grav Cms, ¿es mejor que Wordpress?
 
Construyendo redes sociales con herramientas de software libre #OpenExpoSMAC
Construyendo redes sociales con herramientas de software libre #OpenExpoSMACConstruyendo redes sociales con herramientas de software libre #OpenExpoSMAC
Construyendo redes sociales con herramientas de software libre #OpenExpoSMAC
 
Agregadores: convirtiendo Drupal en una central de contenidos
Agregadores: convirtiendo Drupal en una central de contenidosAgregadores: convirtiendo Drupal en una central de contenidos
Agregadores: convirtiendo Drupal en una central de contenidos
 
Construyendo una red social con Drupal
Construyendo una red social con DrupalConstruyendo una red social con Drupal
Construyendo una red social con Drupal
 
Drupal: Introducción al módulo CCK
Drupal: Introducción al módulo CCKDrupal: Introducción al módulo CCK
Drupal: Introducción al módulo CCK
 
Drupal: Introducción al módulo views
Drupal: Introducción al módulo viewsDrupal: Introducción al módulo views
Drupal: Introducción al módulo views
 
Drupal: Taxonomías y categorías
Drupal: Taxonomías y categoríasDrupal: Taxonomías y categorías
Drupal: Taxonomías y categorías
 
El wiki: Entornos colaborativos en Internet de aplicación en el aula
El wiki: Entornos colaborativos en Internet de aplicación en el aulaEl wiki: Entornos colaborativos en Internet de aplicación en el aula
El wiki: Entornos colaborativos en Internet de aplicación en el aula
 
Aplicaciones en la web para el aula de Matemáticas
Aplicaciones en la web para el aula de MatemáticasAplicaciones en la web para el aula de Matemáticas
Aplicaciones en la web para el aula de Matemáticas
 
Introducción a los sistemas de gestion de contenidos (CMS)
Introducción a los sistemas de gestion de contenidos (CMS)Introducción a los sistemas de gestion de contenidos (CMS)
Introducción a los sistemas de gestion de contenidos (CMS)
 
Introduccion a Drupal
Introduccion a DrupalIntroduccion a Drupal
Introduccion a Drupal
 
Blogs en Herramientas multimedia para Ciencias de la Naturaleza (CFIE Léon)
Blogs en Herramientas multimedia para Ciencias de la Naturaleza (CFIE Léon)Blogs en Herramientas multimedia para Ciencias de la Naturaleza (CFIE Léon)
Blogs en Herramientas multimedia para Ciencias de la Naturaleza (CFIE Léon)
 
Herramientas colaborativas: Podcast
Herramientas colaborativas: PodcastHerramientas colaborativas: Podcast
Herramientas colaborativas: Podcast
 
Herramientas colaborativas: Marcadores sociales
Herramientas colaborativas: Marcadores socialesHerramientas colaborativas: Marcadores sociales
Herramientas colaborativas: Marcadores sociales
 
Herramientas colaborativas en educación: Web 2.0
Herramientas colaborativas en educación: Web 2.0Herramientas colaborativas en educación: Web 2.0
Herramientas colaborativas en educación: Web 2.0
 

Último

El uso de las tic en la vida continúa , ambiente positivo y negativo.
El uso de las tic  en la vida continúa , ambiente positivo y negativo.El uso de las tic  en la vida continúa , ambiente positivo y negativo.
El uso de las tic en la vida continúa , ambiente positivo y negativo.ayalayenifer617
 
PLANIFICACIÓN 2°SEC-PUERTO RICO. 2024 .04.11
PLANIFICACIÓN 2°SEC-PUERTO RICO. 2024 .04.11PLANIFICACIÓN 2°SEC-PUERTO RICO. 2024 .04.11
PLANIFICACIÓN 2°SEC-PUERTO RICO. 2024 .04.11THALIAEUGENIOMAIZ
 
Tema 1 - Fundamentos de gestión contable.pptx
Tema 1 - Fundamentos de gestión contable.pptxTema 1 - Fundamentos de gestión contable.pptx
Tema 1 - Fundamentos de gestión contable.pptxchinojosa17
 
GRUPO 5 Software en el campo de la salud.pptx
GRUPO 5 Software en el campo de la salud.pptxGRUPO 5 Software en el campo de la salud.pptx
GRUPO 5 Software en el campo de la salud.pptxNicolas Villarroel
 
11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat Vers...
11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat  Vers...11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat  Vers...
11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat Vers...#LatamDigital
 
TALLER DE ANALISIS SOLUCION DE TECNOLOGIA
TALLER DE ANALISIS SOLUCION DE TECNOLOGIATALLER DE ANALISIS SOLUCION DE TECNOLOGIA
TALLER DE ANALISIS SOLUCION DE TECNOLOGIAobandopaula444
 
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdfFLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdfYuriFuentesMartinez2
 
CamposGarcia_MariaMagdalena_M1S3AI6.pptx
CamposGarcia_MariaMagdalena_M1S3AI6.pptxCamposGarcia_MariaMagdalena_M1S3AI6.pptx
CamposGarcia_MariaMagdalena_M1S3AI6.pptx241518192
 
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIA
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIAFisica General.pdf ESCUELA D QUIMICA E INGENIERIA
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIAcoloncopias5
 
Guía para registrarse en slideshare..pdf
Guía para registrarse en slideshare..pdfGuía para registrarse en slideshare..pdf
Guía para registrarse en slideshare..pdfJohn Muñoz
 
Medios Digitales Teorías y Metodologías de Análisis.pptx
Medios Digitales Teorías y Metodologías de Análisis.pptxMedios Digitales Teorías y Metodologías de Análisis.pptx
Medios Digitales Teorías y Metodologías de Análisis.pptxUniversidad de Bielefeld
 
Practica guiada Menu_ tecnología (Tic's)
Practica guiada Menu_ tecnología (Tic's)Practica guiada Menu_ tecnología (Tic's)
Practica guiada Menu_ tecnología (Tic's)BrianaFrancisco
 
Software y servicios de internet mapa conceptual.pdf
Software y servicios de internet mapa conceptual.pdfSoftware y servicios de internet mapa conceptual.pdf
Software y servicios de internet mapa conceptual.pdfDanielaEspitiaHerrer
 
Cultura digital diferentes tipos de fraudes ciberneticos.
Cultura digital diferentes tipos de fraudes ciberneticos.Cultura digital diferentes tipos de fraudes ciberneticos.
Cultura digital diferentes tipos de fraudes ciberneticos.JOSE69482
 
DS 011-2023-MTC.pdf DISTANCIAS DE CARRETERAS.pdf
DS 011-2023-MTC.pdf DISTANCIAS DE CARRETERAS.pdfDS 011-2023-MTC.pdf DISTANCIAS DE CARRETERAS.pdf
DS 011-2023-MTC.pdf DISTANCIAS DE CARRETERAS.pdfKAREN553987
 
PowerPoint y sus partes más contenidos...
PowerPoint y sus partes más contenidos...PowerPoint y sus partes más contenidos...
PowerPoint y sus partes más contenidos...delvalleelizabeth400
 
que es Planimetría definición importancia en topografia.pptx
que es Planimetría definición importancia en topografia.pptxque es Planimetría definición importancia en topografia.pptx
que es Planimetría definición importancia en topografia.pptxmrzreyes12
 
LA ETICA DEL UTILITARISMO DE JEREMY BENTHAM
LA ETICA DEL UTILITARISMO DE JEREMY BENTHAMLA ETICA DEL UTILITARISMO DE JEREMY BENTHAM
LA ETICA DEL UTILITARISMO DE JEREMY BENTHAMalejandroortizm
 
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULD
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULDGRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULD
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULDLeslie Villar
 
Módulo 3 escuela activa presentacion.pptx
Módulo 3 escuela activa presentacion.pptxMódulo 3 escuela activa presentacion.pptx
Módulo 3 escuela activa presentacion.pptxMiguelAngelCifuentes10
 

Último (20)

El uso de las tic en la vida continúa , ambiente positivo y negativo.
El uso de las tic  en la vida continúa , ambiente positivo y negativo.El uso de las tic  en la vida continúa , ambiente positivo y negativo.
El uso de las tic en la vida continúa , ambiente positivo y negativo.
 
PLANIFICACIÓN 2°SEC-PUERTO RICO. 2024 .04.11
PLANIFICACIÓN 2°SEC-PUERTO RICO. 2024 .04.11PLANIFICACIÓN 2°SEC-PUERTO RICO. 2024 .04.11
PLANIFICACIÓN 2°SEC-PUERTO RICO. 2024 .04.11
 
Tema 1 - Fundamentos de gestión contable.pptx
Tema 1 - Fundamentos de gestión contable.pptxTema 1 - Fundamentos de gestión contable.pptx
Tema 1 - Fundamentos de gestión contable.pptx
 
GRUPO 5 Software en el campo de la salud.pptx
GRUPO 5 Software en el campo de la salud.pptxGRUPO 5 Software en el campo de la salud.pptx
GRUPO 5 Software en el campo de la salud.pptx
 
11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat Vers...
11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat  Vers...11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat  Vers...
11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat Vers...
 
TALLER DE ANALISIS SOLUCION DE TECNOLOGIA
TALLER DE ANALISIS SOLUCION DE TECNOLOGIATALLER DE ANALISIS SOLUCION DE TECNOLOGIA
TALLER DE ANALISIS SOLUCION DE TECNOLOGIA
 
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdfFLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
 
CamposGarcia_MariaMagdalena_M1S3AI6.pptx
CamposGarcia_MariaMagdalena_M1S3AI6.pptxCamposGarcia_MariaMagdalena_M1S3AI6.pptx
CamposGarcia_MariaMagdalena_M1S3AI6.pptx
 
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIA
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIAFisica General.pdf ESCUELA D QUIMICA E INGENIERIA
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIA
 
Guía para registrarse en slideshare..pdf
Guía para registrarse en slideshare..pdfGuía para registrarse en slideshare..pdf
Guía para registrarse en slideshare..pdf
 
Medios Digitales Teorías y Metodologías de Análisis.pptx
Medios Digitales Teorías y Metodologías de Análisis.pptxMedios Digitales Teorías y Metodologías de Análisis.pptx
Medios Digitales Teorías y Metodologías de Análisis.pptx
 
Practica guiada Menu_ tecnología (Tic's)
Practica guiada Menu_ tecnología (Tic's)Practica guiada Menu_ tecnología (Tic's)
Practica guiada Menu_ tecnología (Tic's)
 
Software y servicios de internet mapa conceptual.pdf
Software y servicios de internet mapa conceptual.pdfSoftware y servicios de internet mapa conceptual.pdf
Software y servicios de internet mapa conceptual.pdf
 
Cultura digital diferentes tipos de fraudes ciberneticos.
Cultura digital diferentes tipos de fraudes ciberneticos.Cultura digital diferentes tipos de fraudes ciberneticos.
Cultura digital diferentes tipos de fraudes ciberneticos.
 
DS 011-2023-MTC.pdf DISTANCIAS DE CARRETERAS.pdf
DS 011-2023-MTC.pdf DISTANCIAS DE CARRETERAS.pdfDS 011-2023-MTC.pdf DISTANCIAS DE CARRETERAS.pdf
DS 011-2023-MTC.pdf DISTANCIAS DE CARRETERAS.pdf
 
PowerPoint y sus partes más contenidos...
PowerPoint y sus partes más contenidos...PowerPoint y sus partes más contenidos...
PowerPoint y sus partes más contenidos...
 
que es Planimetría definición importancia en topografia.pptx
que es Planimetría definición importancia en topografia.pptxque es Planimetría definición importancia en topografia.pptx
que es Planimetría definición importancia en topografia.pptx
 
LA ETICA DEL UTILITARISMO DE JEREMY BENTHAM
LA ETICA DEL UTILITARISMO DE JEREMY BENTHAMLA ETICA DEL UTILITARISMO DE JEREMY BENTHAM
LA ETICA DEL UTILITARISMO DE JEREMY BENTHAM
 
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULD
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULDGRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULD
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULD
 
Módulo 3 escuela activa presentacion.pptx
Módulo 3 escuela activa presentacion.pptxMódulo 3 escuela activa presentacion.pptx
Módulo 3 escuela activa presentacion.pptx
 

Introducción a Silex. Aprendiendo a hacer las cosas bien en PHP