SlideShare una empresa de Scribd logo
1 de 66
Desarrollo de aplicaciones web  con PHP y Symfony Tercer encuentro de usuarios Linux en la Región Lambayeque
Hablemos de programación y web
Hablemos de programación ... ,[object Object]
C#
C/C++
Visual Basic ,[object Object]
Tiobe Programming Community Index http://www.tiobe.com/tpci.htm
PHP
¿Qué NO es PHP? Pasta con Hipervínculos Programable (PHP)
PHP: Hypertext Preprocessor http://www.php.net/ ,[object Object]
Optimizado para desarrollo de sitios web dinámicos.
Sus sentencias pueden ser incluidas en medio de código HTML.
¿Cómo funciona?
Un ejemplo: Formulario (pagina.htm) ... <body> <form action=&quot;accion.php&quot; method=&quot;POST&quot;> Su nombre:  <input type=&quot;text&quot; name=&quot;nombre&quot; /> Su edad:  <input type=&quot;text&quot; name=&quot;edad&quot; /> <input type=&quot;submit&quot;> </form> </body> ...
Un ejemplo: Formulario (pagina.htm) Su nombre: Su edad:
Un ejemplo: La respuesta (accion.php) <body> <?php $lst_nombre=$_POST[&quot;nombre&quot;]; $lst_edad=$_POST[&quot;edad&quot;] if (trim($lst_nombre) && trim($lst_edad)) { ?> <p>Hola  <?php $lst_nombre; ?> . <br />Tiene  <?php $lst_edad; ?>  años</p> <?php }?> <?php if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) { echo &quot;<p>Estás usando Internet Explorer</p>&quot; } else { echo &quot;<p>¡Eres bienvenido en este lugar!</p>&quot; } ?>
Un ejemplo: La respuesta (accion.php) Hola Su nombre es Elisa Calderón Tiene 21 años Está usando Internet Explorer
¿Por qué usar PHP? ,[object Object],[object Object],[object Object]
¿Por qué usar PHP? ,[object Object],[object Object],[object Object]
¿Qué necesito para programar en PHP?
¿Qué necesito para programar? ,[object Object]
¿Recuerdas?
¿Qué necesito para programar? ,[object Object]
¿Una conexión a Internet?
Un servidor web con soporte de PHP
¿Una base de datos?
Navegadores de Internet ,[object Object]
8.0 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Servidores web con soporte de PHP ,[object Object]
Internet Information Server (IIS)
Otros ,[object Object]
Lighttpd
Boa
Cherokee
Pero instalar el servidor puede ser un problema ... www.apachefriends.org/en/xampp.html XAMPP ¡SOLO INTÉNTALO EN CASA!
Tiempo de escribir código ... ,[object Object]
Entornos integrados de desarrollo ,[object Object]
NetBeans for PHP
Aptana IDE
Quanta Plus
Bluefish
Comienza con PHP
Esto fue sólo el comienzo :D ,[object Object],[object Object]
Extensiones (PEAR, PECL)
Librerías (phpMailer, FreePDF, FeedCreator)
CMS (Wordpress, Joomla, Drupal)
Pero puedes comenzar por ... ,[object Object]
Desarrollo de aplicaciones web con PHP y  Symfony
Symfony framework
Tecnologías que inspiraron Symfony
¿Por qué Symfony (para las personas)? ,[object Object]
Producto basado en buenas prácticas y patrones de diseño ,[object Object],[object Object]
Fácil de integrar nuevos ingenieros al proyecto
Conceptos básicos
Programación orientada a objetos
PHP 5 ,[object Object]
Inclusión de nuevas funcionalidades.
Mejora en desempeño y seguridad.
Definición de extensiones.
PHP 5 ,[object Object]
__toString();
... ,[object Object],[object Object]
YAML ,[object Object],visitante: datos: nombre: Elisa García edad: 21 peticion: navegador: Mozilla Firefox 3.6.3 sistemaoperativo: Ubuntu 10.04 resolucion: 1024x768
Mapeo de objetos a bases de datos Propel / Doctrine
Desarrollo rápido de aplicaciones (RAD) ,[object Object],[object Object],[object Object],[object Object]
Cómo se organiza un proyecto en Symfony

Más contenido relacionado

La actualidad más candente

Las buenas prácticas oficiales para aplicaciones Symfony
Las buenas prácticas oficiales para aplicaciones SymfonyLas buenas prácticas oficiales para aplicaciones Symfony
Las buenas prácticas oficiales para aplicaciones Symfonysymfony_bcn
 
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
 
Iniciación PHP 5. Introducción
Iniciación PHP 5. IntroducciónIniciación PHP 5. Introducción
Iniciación PHP 5. IntroducciónRightster
 
PHP Avanzado: PHP, XML y Servicios Web
PHP Avanzado: PHP, XML y Servicios WebPHP Avanzado: PHP, XML y Servicios Web
PHP Avanzado: PHP, XML y Servicios WebRightster
 
Mi primer programa en Symfony2
Mi primer programa en Symfony2Mi primer programa en Symfony2
Mi primer programa en Symfony2César Hernández
 
Manual de php con ejercicios
Manual de php con ejerciciosManual de php con ejercicios
Manual de php con ejercicioswilliam kozisck
 
Symfony2: Interacción con CSS, JS y HTML5
Symfony2: Interacción con CSS, JS y HTML5Symfony2: Interacción con CSS, JS y HTML5
Symfony2: Interacción con CSS, JS y HTML5Raul Fraile
 
PHP Avanzado: Características avanzadas de PHP
PHP Avanzado: Características avanzadas de PHPPHP Avanzado: Características avanzadas de PHP
PHP Avanzado: Características avanzadas de PHPRightster
 
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
 
Iniciación PHP 5. PHP y MySQL
Iniciación PHP 5. PHP y MySQLIniciación PHP 5. PHP y MySQL
Iniciación PHP 5. PHP y MySQLRightster
 
MAnual de php básico
MAnual de php básicoMAnual de php básico
MAnual de php básicoCleote
 

La actualidad más candente (20)

Las buenas prácticas oficiales para aplicaciones Symfony
Las buenas prácticas oficiales para aplicaciones SymfonyLas buenas prácticas oficiales para aplicaciones Symfony
Las buenas prácticas oficiales para aplicaciones Symfony
 
CRUD básico con Symfony
CRUD básico con SymfonyCRUD básico con Symfony
CRUD básico con Symfony
 
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
 
Iniciación PHP 5. Introducción
Iniciación PHP 5. IntroducciónIniciación PHP 5. Introducción
Iniciación PHP 5. Introducción
 
PHP Avanzado: PHP, XML y Servicios Web
PHP Avanzado: PHP, XML y Servicios WebPHP Avanzado: PHP, XML y Servicios Web
PHP Avanzado: PHP, XML y Servicios Web
 
Mi primer programa en Symfony2
Mi primer programa en Symfony2Mi primer programa en Symfony2
Mi primer programa en Symfony2
 
Manual de php con ejercicios
Manual de php con ejerciciosManual de php con ejercicios
Manual de php con ejercicios
 
Symfony2: Interacción con CSS, JS y HTML5
Symfony2: Interacción con CSS, JS y HTML5Symfony2: Interacción con CSS, JS y HTML5
Symfony2: Interacción con CSS, JS y HTML5
 
Php Con Postgres
Php Con PostgresPhp Con Postgres
Php Con Postgres
 
Manual de PHP Basico
Manual de PHP BasicoManual de PHP Basico
Manual de PHP Basico
 
PHP Avanzado: Características avanzadas de PHP
PHP Avanzado: Características avanzadas de PHPPHP Avanzado: Características avanzadas de PHP
PHP Avanzado: Características avanzadas de 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
 
Manual PHP 7
Manual PHP 7Manual PHP 7
Manual PHP 7
 
Historia de PHP
Historia de PHPHistoria de PHP
Historia de PHP
 
Composer: Gestionando dependencias en PHP
Composer: Gestionando dependencias en PHP Composer: Gestionando dependencias en PHP
Composer: Gestionando dependencias en PHP
 
4.Programación con PHP y MySQL
4.Programación con PHP y MySQL4.Programación con PHP y MySQL
4.Programación con PHP y MySQL
 
Iniciacion a PHP (I)
Iniciacion a PHP (I)Iniciacion a PHP (I)
Iniciacion a PHP (I)
 
Iniciación PHP 5. PHP y MySQL
Iniciación PHP 5. PHP y MySQLIniciación PHP 5. PHP y MySQL
Iniciación PHP 5. PHP y MySQL
 
Conociendo PHP
Conociendo PHPConociendo PHP
Conociendo PHP
 
MAnual de php básico
MAnual de php básicoMAnual de php básico
MAnual de php básico
 

Destacado

Desarrollo rápido con PHP y Symfony (I): Introducción a Symfony
Desarrollo rápido con PHP y Symfony (I): Introducción a SymfonyDesarrollo rápido con PHP y Symfony (I): Introducción a Symfony
Desarrollo rápido con PHP y Symfony (I): Introducción a SymfonyDavid J. Brenes
 
Symfony y Admin Generator
Symfony y Admin GeneratorSymfony y Admin Generator
Symfony y Admin GeneratorJavier López
 
Integrando Redis en aplicaciones Symfony2
Integrando Redis en aplicaciones Symfony2Integrando Redis en aplicaciones Symfony2
Integrando Redis en aplicaciones Symfony2Ronny López
 
Curso de Magento 1.9: Unidad Didáctica 08 Estructura de un Tema
Curso de Magento 1.9: Unidad Didáctica 08 Estructura de un TemaCurso de Magento 1.9: Unidad Didáctica 08 Estructura de un Tema
Curso de Magento 1.9: Unidad Didáctica 08 Estructura de un TemaDavid Vaquero
 
Symfony en Drupal 8 - DrupalCamp Spain
Symfony en Drupal 8 - DrupalCamp Spain Symfony en Drupal 8 - DrupalCamp Spain
Symfony en Drupal 8 - DrupalCamp Spain Raul Fraile
 
Programacion php con symfony
Programacion php con symfonyProgramacion php con symfony
Programacion php con symfonycsalazart
 
Introducción a Symfony
Introducción a Symfony Introducción a Symfony
Introducción a Symfony Marcos Quesada
 
Django avanzado: Dia 2
Django avanzado: Dia 2Django avanzado: Dia 2
Django avanzado: Dia 2Esau Rodriguez
 
Curso Modelos Predictivos - Luis Carlos Silva
Curso Modelos Predictivos - Luis Carlos SilvaCurso Modelos Predictivos - Luis Carlos Silva
Curso Modelos Predictivos - Luis Carlos Silvapyjote
 
Taller de introducción al desarrollo web con Django
Taller de introducción al desarrollo web con DjangoTaller de introducción al desarrollo web con Django
Taller de introducción al desarrollo web con DjangoJuan Rodríguez
 
Asynchronous processing with PHP and Symfony2. Do it simple
Asynchronous processing with PHP and Symfony2. Do it simpleAsynchronous processing with PHP and Symfony2. Do it simple
Asynchronous processing with PHP and Symfony2. Do it simpleKirill Chebunin
 
Django - Plataforma de sitios web
Django - Plataforma de sitios webDjango - Plataforma de sitios web
Django - Plataforma de sitios webjcarazo
 
Introducción a Modelos Predictivos de Fuga de Clientes
Introducción a Modelos Predictivos de Fuga de ClientesIntroducción a Modelos Predictivos de Fuga de Clientes
Introducción a Modelos Predictivos de Fuga de ClientesHugo E. Cisternas
 

Destacado (20)

Desarrollo rápido con PHP y Symfony (I): Introducción a Symfony
Desarrollo rápido con PHP y Symfony (I): Introducción a SymfonyDesarrollo rápido con PHP y Symfony (I): Introducción a Symfony
Desarrollo rápido con PHP y Symfony (I): Introducción a Symfony
 
Symfony y Admin Generator
Symfony y Admin GeneratorSymfony y Admin Generator
Symfony y Admin Generator
 
Integrando Redis en aplicaciones Symfony2
Integrando Redis en aplicaciones Symfony2Integrando Redis en aplicaciones Symfony2
Integrando Redis en aplicaciones Symfony2
 
Curso de Magento 1.9: Unidad Didáctica 08 Estructura de un Tema
Curso de Magento 1.9: Unidad Didáctica 08 Estructura de un TemaCurso de Magento 1.9: Unidad Didáctica 08 Estructura de un Tema
Curso de Magento 1.9: Unidad Didáctica 08 Estructura de un Tema
 
Folleto hipico digital 28/05
Folleto hipico digital 28/05Folleto hipico digital 28/05
Folleto hipico digital 28/05
 
Folleto hipico digital
Folleto hipico digitalFolleto hipico digital
Folleto hipico digital
 
Symfony en Drupal 8 - DrupalCamp Spain
Symfony en Drupal 8 - DrupalCamp Spain Symfony en Drupal 8 - DrupalCamp Spain
Symfony en Drupal 8 - DrupalCamp Spain
 
Symfony Components
Symfony ComponentsSymfony Components
Symfony Components
 
Programacion php con symfony
Programacion php con symfonyProgramacion php con symfony
Programacion php con symfony
 
Introducción a Symfony
Introducción a Symfony Introducción a Symfony
Introducción a Symfony
 
Django Avanzado: Dia3
Django Avanzado: Dia3Django Avanzado: Dia3
Django Avanzado: Dia3
 
Django avanzado: Dia 2
Django avanzado: Dia 2Django avanzado: Dia 2
Django avanzado: Dia 2
 
Presentación appy/pod
Presentación appy/podPresentación appy/pod
Presentación appy/pod
 
Symfony. La guia definitiva
Symfony. La guia definitivaSymfony. La guia definitiva
Symfony. La guia definitiva
 
Django avanzado: Dia1
Django avanzado: Dia1Django avanzado: Dia1
Django avanzado: Dia1
 
Curso Modelos Predictivos - Luis Carlos Silva
Curso Modelos Predictivos - Luis Carlos SilvaCurso Modelos Predictivos - Luis Carlos Silva
Curso Modelos Predictivos - Luis Carlos Silva
 
Taller de introducción al desarrollo web con Django
Taller de introducción al desarrollo web con DjangoTaller de introducción al desarrollo web con Django
Taller de introducción al desarrollo web con Django
 
Asynchronous processing with PHP and Symfony2. Do it simple
Asynchronous processing with PHP and Symfony2. Do it simpleAsynchronous processing with PHP and Symfony2. Do it simple
Asynchronous processing with PHP and Symfony2. Do it simple
 
Django - Plataforma de sitios web
Django - Plataforma de sitios webDjango - Plataforma de sitios web
Django - Plataforma de sitios web
 
Introducción a Modelos Predictivos de Fuga de Clientes
Introducción a Modelos Predictivos de Fuga de ClientesIntroducción a Modelos Predictivos de Fuga de Clientes
Introducción a Modelos Predictivos de Fuga de Clientes
 

Similar a Desarrollo de aplicaciones web con PHP y symfony

Similar a Desarrollo de aplicaciones web con PHP y symfony (20)

PHP Con symfony
PHP Con symfonyPHP Con symfony
PHP Con symfony
 
Introducción a PHP5
Introducción a PHP5Introducción a PHP5
Introducción a PHP5
 
Apuntes php
Apuntes phpApuntes php
Apuntes php
 
Programacion en php atavez de ejemplos
Programacion en php atavez de ejemplosProgramacion en php atavez de ejemplos
Programacion en php atavez de ejemplos
 
Apuntes php
Apuntes phpApuntes php
Apuntes php
 
Apuntes php
Apuntes phpApuntes php
Apuntes php
 
Programacion en php a traves de ejemplos
Programacion en php a traves de ejemplosProgramacion en php a traves de ejemplos
Programacion en php a traves de ejemplos
 
Ejemplos en php
Ejemplos en phpEjemplos en php
Ejemplos en php
 
Apuntes php.pdf ejemplos
Apuntes php.pdf ejemplosApuntes php.pdf ejemplos
Apuntes php.pdf ejemplos
 
Apuntes php
Apuntes phpApuntes php
Apuntes php
 
Apuntes php
Apuntes phpApuntes php
Apuntes php
 
Codemotion Madrid 2013 - [PHP] desarrollo de extensiones en c c++
Codemotion Madrid 2013 - [PHP] desarrollo de extensiones en c c++Codemotion Madrid 2013 - [PHP] desarrollo de extensiones en c c++
Codemotion Madrid 2013 - [PHP] desarrollo de extensiones en c c++
 
QUE ES PHP
QUE ES PHPQUE ES PHP
QUE ES PHP
 
Construcción de Frameworks a partir de Smarty y PEAR
Construcción de Frameworks a partir de Smarty y PEARConstrucción de Frameworks a partir de Smarty y PEAR
Construcción de Frameworks a partir de Smarty y PEAR
 
PHP IUTE
PHP IUTEPHP IUTE
PHP IUTE
 
Php
PhpPhp
Php
 
Trabajo especial (php)
Trabajo especial (php)Trabajo especial (php)
Trabajo especial (php)
 
Trabajo especial copy
Trabajo especial   copyTrabajo especial   copy
Trabajo especial copy
 
Manual php
Manual phpManual php
Manual php
 
PHP
PHPPHP
PHP
 

Más de Juan Eladio Sánchez Rosas

Curso: Diseño de apps y webs móviles - Parte 2
Curso: Diseño de apps y webs móviles - Parte 2Curso: Diseño de apps y webs móviles - Parte 2
Curso: Diseño de apps y webs móviles - Parte 2Juan Eladio Sánchez Rosas
 
Curso: Diseño de apps y webs móviles - Parte 1
Curso: Diseño de apps y webs móviles - Parte 1Curso: Diseño de apps y webs móviles - Parte 1
Curso: Diseño de apps y webs móviles - Parte 1Juan Eladio Sánchez Rosas
 
Cómo crear comunidades tecnológicas disruptivas - Coneisc Arequipa 2015
Cómo crear comunidades tecnológicas disruptivas - Coneisc Arequipa 2015Cómo crear comunidades tecnológicas disruptivas - Coneisc Arequipa 2015
Cómo crear comunidades tecnológicas disruptivas - Coneisc Arequipa 2015Juan Eladio Sánchez Rosas
 
Encuesta Anual: Perfil del Desarrollador Web Perú 2015
Encuesta Anual: Perfil del Desarrollador Web Perú 2015Encuesta Anual: Perfil del Desarrollador Web Perú 2015
Encuesta Anual: Perfil del Desarrollador Web Perú 2015Juan Eladio Sánchez Rosas
 
iPhone v Android: Lecciones de la revolución móvil
iPhone v Android: Lecciones de la revolución móviliPhone v Android: Lecciones de la revolución móvil
iPhone v Android: Lecciones de la revolución móvilJuan Eladio Sánchez Rosas
 
App-ocalipsis: El fin de las aplicaciones móviles
App-ocalipsis: El fin de las aplicaciones móvilesApp-ocalipsis: El fin de las aplicaciones móviles
App-ocalipsis: El fin de las aplicaciones móvilesJuan Eladio Sánchez Rosas
 
Tecnologias Mozilla en la batalla por el futuro de la web
Tecnologias Mozilla en la batalla por el futuro de la webTecnologias Mozilla en la batalla por el futuro de la web
Tecnologias Mozilla en la batalla por el futuro de la webJuan Eladio Sánchez Rosas
 
Herramientas de desarrollo en Firefox para la web abierta
Herramientas de desarrollo en Firefox para la web abiertaHerramientas de desarrollo en Firefox para la web abierta
Herramientas de desarrollo en Firefox para la web abiertaJuan Eladio Sánchez Rosas
 
Prueba dos versiones de Firefox al mismo tiempo
Prueba dos versiones de Firefox al mismo tiempoPrueba dos versiones de Firefox al mismo tiempo
Prueba dos versiones de Firefox al mismo tiempoJuan Eladio Sánchez Rosas
 
Estudio: Situación de los desarrolladores web en el Perú 2012
Estudio: Situación de los desarrolladores web en el Perú 2012Estudio: Situación de los desarrolladores web en el Perú 2012
Estudio: Situación de los desarrolladores web en el Perú 2012Juan Eladio Sánchez Rosas
 
Seguridad en el desarrollo de aplicaciones web
Seguridad en el desarrollo de aplicaciones webSeguridad en el desarrollo de aplicaciones web
Seguridad en el desarrollo de aplicaciones webJuan Eladio Sánchez Rosas
 
HTML5 y los desafíos del desarrollo web de HOY
HTML5 y los desafíos del desarrollo web de HOYHTML5 y los desafíos del desarrollo web de HOY
HTML5 y los desafíos del desarrollo web de HOYJuan Eladio Sánchez Rosas
 
Buenas prácticas de usabilidad para el desarrollo web
Buenas prácticas de usabilidad para el desarrollo webBuenas prácticas de usabilidad para el desarrollo web
Buenas prácticas de usabilidad para el desarrollo webJuan Eladio Sánchez Rosas
 

Más de Juan Eladio Sánchez Rosas (20)

Seguridad informatica para docentes
Seguridad informatica para docentesSeguridad informatica para docentes
Seguridad informatica para docentes
 
Introducción a la computación en la nube
Introducción a la computación en la nubeIntroducción a la computación en la nube
Introducción a la computación en la nube
 
Curso: Diseño de apps y webs móviles - Parte 2
Curso: Diseño de apps y webs móviles - Parte 2Curso: Diseño de apps y webs móviles - Parte 2
Curso: Diseño de apps y webs móviles - Parte 2
 
Curso: Diseño de apps y webs móviles - Parte 1
Curso: Diseño de apps y webs móviles - Parte 1Curso: Diseño de apps y webs móviles - Parte 1
Curso: Diseño de apps y webs móviles - Parte 1
 
Cómo crear comunidades tecnológicas disruptivas - Coneisc Arequipa 2015
Cómo crear comunidades tecnológicas disruptivas - Coneisc Arequipa 2015Cómo crear comunidades tecnológicas disruptivas - Coneisc Arequipa 2015
Cómo crear comunidades tecnológicas disruptivas - Coneisc Arequipa 2015
 
Encuesta Anual: Perfil del Desarrollador Web Perú 2015
Encuesta Anual: Perfil del Desarrollador Web Perú 2015Encuesta Anual: Perfil del Desarrollador Web Perú 2015
Encuesta Anual: Perfil del Desarrollador Web Perú 2015
 
iPhone v Android: Lecciones de la revolución móvil
iPhone v Android: Lecciones de la revolución móviliPhone v Android: Lecciones de la revolución móvil
iPhone v Android: Lecciones de la revolución móvil
 
App-ocalipsis: El fin de las aplicaciones móviles
App-ocalipsis: El fin de las aplicaciones móvilesApp-ocalipsis: El fin de las aplicaciones móviles
App-ocalipsis: El fin de las aplicaciones móviles
 
Taller Diseno de apps móviles
Taller Diseno de apps móvilesTaller Diseno de apps móviles
Taller Diseno de apps móviles
 
Muchas voces, una Comunidad Mozilla
Muchas voces, una Comunidad MozillaMuchas voces, una Comunidad Mozilla
Muchas voces, una Comunidad Mozilla
 
Tecnologias Mozilla en la batalla por el futuro de la web
Tecnologias Mozilla en la batalla por el futuro de la webTecnologias Mozilla en la batalla por el futuro de la web
Tecnologias Mozilla en la batalla por el futuro de la web
 
La web abierta y Mozilla
La web abierta y MozillaLa web abierta y Mozilla
La web abierta y Mozilla
 
Desarrollo de aplicaciones web móviles
Desarrollo de aplicaciones web móvilesDesarrollo de aplicaciones web móviles
Desarrollo de aplicaciones web móviles
 
Herramientas de desarrollo en Firefox para la web abierta
Herramientas de desarrollo en Firefox para la web abiertaHerramientas de desarrollo en Firefox para la web abierta
Herramientas de desarrollo en Firefox para la web abierta
 
Prueba dos versiones de Firefox al mismo tiempo
Prueba dos versiones de Firefox al mismo tiempoPrueba dos versiones de Firefox al mismo tiempo
Prueba dos versiones de Firefox al mismo tiempo
 
Estudio: Situación de los desarrolladores web en el Perú 2012
Estudio: Situación de los desarrolladores web en el Perú 2012Estudio: Situación de los desarrolladores web en el Perú 2012
Estudio: Situación de los desarrolladores web en el Perú 2012
 
Firefox Next y otras iniciativas de Mozilla
Firefox Next y otras iniciativas de MozillaFirefox Next y otras iniciativas de Mozilla
Firefox Next y otras iniciativas de Mozilla
 
Seguridad en el desarrollo de aplicaciones web
Seguridad en el desarrollo de aplicaciones webSeguridad en el desarrollo de aplicaciones web
Seguridad en el desarrollo de aplicaciones web
 
HTML5 y los desafíos del desarrollo web de HOY
HTML5 y los desafíos del desarrollo web de HOYHTML5 y los desafíos del desarrollo web de HOY
HTML5 y los desafíos del desarrollo web de HOY
 
Buenas prácticas de usabilidad para el desarrollo web
Buenas prácticas de usabilidad para el desarrollo webBuenas prácticas de usabilidad para el desarrollo web
Buenas prácticas de usabilidad para el desarrollo web
 

Último

9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxRogerPrieto3
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
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
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 

Último (15)

9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptx
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
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
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 

Desarrollo de aplicaciones web con PHP y symfony

Notas del editor

  1. Mala reputación Código Spaghetti Amateurs Sintaxis inconsistente Reinventar la ruedda
  2. Usado en sitios de alto tráfico (Facebook, Yahoo!, Wikipedia) (si PHP llega a ser tu cuello de botella, felicitaciones, tienes una aplicación con grado A y que es más rápida que el 99% de los sitios web de Internet) Años de experiencia y herramientas
  3. Código abierto. Hay desarrolladores, librerías, soporte y documentación Fácil de aprender, fácil de usar Es el lenguaje #1 de desarrollo para la web
  4. Todo en uno: Apache, PHP, MySQL y librerías útiles. Para Windows, Linux, Mac OS X y Solaris.
  5. Completo entorno de desarrollo Diseñado para optimizar Construcción de aplicaciones web
  6. Mejores prácticas: menos riesgo Desarrollo reusable: inteligencia de desarrollo Activo desarrollo y soporte Curva de aprendizaje pronunciada pero con buena documentación Gran comunidad de desarrolladores Uno de los frameworks más completos
  7. PHP 5.3.2 + Zend Engine 2.3.0 Mejoras en rendimiento POO: Composición de objetos, herencia, agregación, contención, encapsulamiento
  8. Este tipo de métodos permiten redefinir el comportamiento de las clases sin modificar el código externo. Con estos métodos es posible que la sintaxis de PHP sea más concisa y más fácil de extender. Además, estos métodos son fáciles de reconocer ya que sus nombres siempre empiezan con 2 guiones bajos seguidos (__). PEAR es un &amp;quot;framework y sistema de distribución para componentes PHP reutilizables&amp;quot;. PEAR permite descargar, instalar, actualizar y desinstalar scripts de PHP. Si se utiliza un paquete de PEAR, no es necesario decidir donde guardar los scripts, cómo hacer que se puedan utilizar o cómo extender la línea de comandos (CLI).
  9. Un ORM consiste en una serie de objetos que permiten acceder a los datos y que contienen en su interior cierta lógica de negocio. Una de las ventajas de utilizar estas capas de abstracción de objetos/relacional es que evita utilizar una sintaxis específica de un sistema de bases de datos concreto. Esta capa transforma automáticamente las llamadas a los objetos en consultas SQL optimizadas para el sistema gestor de bases de datos que se está utilizando en cada momento.
  10. Hoy en día, las empresas reaccionan más rápidamente y los clientes cambian de opinión constantemente durante el desarrollo de los proyectos. De este modo, los equipos de desarrollo deben adaptarse a esas necesidades y tienen que poder cambiar la estructura de una aplicación de forma rápida. Afortunadamente, el uso de lenguajes de script como Perl y PHP permiten seguir otras estrategias de programación, como RAD (desarrollo rápido de aplicaciones) y el desarrollo ágil de software. KISS: ¡Hazlo sencillo, idiota! (Keep It Simple, Stupid) DRY: No te repitas (Don&apos;t Repeat Yourself). TDD: desarrollo basado en pruebas (test-driven development).
  11. 1. Carga la clase de configuración del proyecto y las librerías de Symfony. 2. Crea la configuración de la aplicación y el contexto de Symfony. 3. Carga e inicializa las clases del núcleo del framework. 4. Carga la configuración. 5. Decodifica la URL de la petición para determinar la acción a ejecutar y los parámetros de la petición. 6. Si la acción no existe, redireccionará a la acción del error 404. 7. Activa los filtros (por ejemplo, si la petición necesita autenticación). 8. Ejecuta los filtros, primera pasada. 9. Ejecuta la acción y produce la vista. 10. Ejecuta los filtros, segunda pasada. 11. Muestra la respuesta.
  12. 1. Carga la clase de configuración del proyecto y las librerías de Symfony. 2. Crea la configuración de la aplicación y el contexto de Symfony. 3. Carga e inicializa las clases del núcleo del framework. 4. Carga la configuración. 5. Decodifica la URL de la petición para determinar la acción a ejecutar y los parámetros de la petición. 6. Si la acción no existe, redireccionará a la acción del error 404. 7. Activa los filtros (por ejemplo, si la petición necesita autenticación). 8. Ejecuta los filtros, primera pasada. 9. Ejecuta la acción y produce la vista. 10. Ejecuta los filtros, segunda pasada. 11. Muestra la respuesta.