Programación Avanzada en PHP 5 Área de Formación en Línea Centro Internacional de Tecnologías Avanzadas Fundación Germán Sánchez Ruipérez
1. Título: Programación Avanzada en Php 5 Curso Extraordinario Certificado por la Universidad de Salamanca Certifica 4 Créditos de Libre elección 2. Descripción: En la actualidad, cualquier aplicación profesional para la web, tiene que hacer que uso de conexiones a bases de datos, interpretación de ficheros XML, gestión de plantillas de diseño independientes del código, además de prestar gran atención a la seguridad y poder crear una estructura de desarrollo organizada que permita rápidas actualizaciones y con los mínimos errores. PHP 5, se muestra como un lenguaje que nos permite crear aplicaciones que cumplan con los requisitos anteriormente descritos. PHP 5 es un lenguaje multiplataforma orientado a objetos de fácil aprendizaje y que se va mejorado continuamente por una gran comunidad de desarrolladores y programadores. A lo largo de este curso, profundizaremos en el conocimiento de este lenguaje y prepararemos a los estudiantes para que puedan emprender grandes proyectos de programación con PHP 5. 3. Objetivos: Aportar los conocimientos fundamentales para emprender proyectos de programación de sites dinámicos. Profundizar en las bases programación orientada a objetos. Capacitar al alumno para desarrollar grandes aplicaciones complejas en PHP 5 Presentar las ventajas y las herramientas que la programación orientada a objetos pone a disposición de los Desarrolladores Web. Preparar al alumno para emprender proyectos Conocer el conjunto de herramientas y librerías desarrolladas en torno a PHP 5. 4. Profesorado: Ignacio Pérez Terradillos Analista Programador y Responsable de Administración electrónica del Ayuntamiento de Peñaranda de Bracamonte y el Centro Internacional de Tecnologías Avanzadas. 1
5. Fechas de Inicio / Fin: 30 de abril de 2010 / 31 de mayo de 2010 6. Número de plazas: 25 7. Dirigido a: Este curso está destinado a estudiantes de informática y carreras técnicas, técnicos informáticos y profesionales del sector que deseen embarcarse y profundizar en el aprendizaje de un nuevo lenguaje de programación. 8. Precio: 115 9. Duración: 40 horas 10. Programa completo del curso Módulo 1. Introducción 1.1. Qué es PHP 1.2. La World Wide Web 1.3. Conceptos importantes 1.3.1. URL 1.3.2. El protocolo HTTP 1.3.3. Documentos HTML 1.3.4. Javascript 1.4. Peculiaridades de la programación Web 1.4.1. Conexiones no-persistentes 1.4.2. Diferentes ámbitos de ejecución 1.4.3. Seguridad 1.4.4. Escalabilidad Módulo 2. Sintaxis básica 2.1. Entrar en modo PHP 2.2. Hello world 2.3. Separación de instrucciones 2.4. Comentarios 2.5. Tipos de datos 2.6. Conceptos básicos sobre variables 2.7. Variables variables 2.8. Conversiones entre tipos 2.9. Strings 2.10. Arrays 2.11. Constantes 2
2.12. Funciones 2.13. Estructuras de control 2.13.1. IF 2.13.2. IF-ELSE 2.13.3. ELSEIF 2.13.4. Compact-IF 2.13.5. SWITCH 2.13.6. WHILE 2.13.7. DO-WHILE 2.13.8. FOR 2.13.9. FOREACH 2.13.10. BREAK/CONTINUE 2.14. Operadores 2.15. Funciones importantes 2.15.1. Gestión de variables 2.15.2. Manipulación de arrays 2.15.3. Manipulación de strings 2.15.4. Expresiones regulares 2.15.4.1. Expresiones POSIX 2.15.4.2. Expresiones PERL 2.15.5. Manejo de ficheros 2.15.6. Manejo de fechas/tiempos 2.15.7. Manejo de headers Módulo 3. Uso de PHP en la web 3.1. Introducción 3.2. Instalación de un intérprete de PHP 3.3. Documentación de PHP 3.4. Tratamiento de datos 3.4.1. Ejemplo 1: Recibiendo datos 3.4.2. Ejemplo 2: Página dinámica simple 3.4.3. Ejemplo 3: Uploads 3.5. Sesiones, require, cookies, fechas 3.5.1. Ejemplo 4: Autenticación (sesiones) 3.5.2. Ejemplo 5: Autenticación (+ require) 3.5.3. Ejemplo 6: Autenticación (+ sesión, headers, preg) 3.5.4. Ejemplo 7: Autenticación (+ cookies) 3.5.5. Ejemplo 8: Autenticación (+fechas) 3.5.6. Ejemplo 9: Contador (gestión de ficheros) Módulo 4. Programación orientada a objetos 4.1. Introducción 4.2. Declaración 4.3. Herencia 4.4. Tipos de métodos y propiedades 4.5. Constructores y destructores 4.6. Otros métodos especiales 3
4.7. Clases abstractas 4.8. Interfaces 4.9. Overloading 4.10. Patterns 4.11. Comparación de objetos 4.12. Type hinting 4.13. Excepciones Módulo 5. Standard PHP Library (SPL) 5.1. Introducción 5.2. Iteradores 5.3. Gestión de ficheros y directorios 5.4. XML 5.5. Arrays 5.6. Counting 5.7. Excepciones 5.8. Ejemplos prácticos 5.8.1. Impresión de menú 5.8.2. Ficheros similares 5.8.3. Acceso a datos 5.9. Creación de Frameworks Módulo 6. Acceso a base de datos 6.1. Introducción 6.2. PEAR 6.2.1. Conectando a DB 6.2.2. Ejecución de consultas 6.2.3. Rangos de filas 6.2.4. Métodos rápidos 6.2.5. Otra información 6.2.6. Secuencias 6.2.7. Quoting 6.2.8. Consultas preparadas 6.2.9. Transacciones 6.3. PDO 6.3.1. Conectando a DB 6.3.2. Ejecución de consultas 6.3.3. Quoting 6.3.4. Binding automático 6.4. Ejemplos 4
Módulo 7. Smarty 7.1. Introducción 7.2. Utilización desde PHP 7.3. Plantillas 7.3.1. Variables 7.3.2. Modificadores 7.3.3. Bucles 7.3.3.1. IF 7.3.3.2. Section 7.3.3.3. Foreach 7.3.4. Funciones básicas 7.3.5. Funciones personalizables 7.3.6. Ficheros de configuración Módulo 8. PEAR, PFC, PECL 8.1. Introducción 8.2. PEAR 8.3. PFC 8.4. PECL 8.5. Clases PEAR útiles 8.5.1. Cache 8.5.2. Archive_Tar 8.5.3. Pager 8.5.4. Log 8.5.5. Mail 8.6. Extensiones PECL útiles 8.6.1. Tidy 8.6.2. APC Módulo 9. XML 9.1. Introducción 9.2. Parser SAX 9.2.1. Funcionamiento 9.2.2. Contar nodos 9.2.3. Filtrado de documentos XML 9.2.4. Carga de documento XML en memoria 9.2.5. Parser en Objeto 9.2.6. Pasar de XML a HTML 9.2.7. Entidades externas 9.3. Parser DOM (y otros) 9.3.1. Funcionamiento 9.3.2. Contar nodos 9.3.3. Filtrado de documentos XML 9.3.4. Carga de un documento XML en memoria 9.3.5. Simple XML 9.3.6. Entidades externas 5
9.4. Transformaciones 9.4.1. Transformaciones programáticas 9.4.1.1. RSS 9.4.1.2. PDF 9.4.1.3. Imágenes 9.4.2. Transformaciones XSLT 9.5. Web services 9.5.1. Cliente XML RPC 9.5.2. XML-RPC cliente y servidor 9.5.3. SOAP Módulo 10. Configuración de PHP 10.1. Introducción 10.2. Errores 10.3. Paths 10.4. Open tags 10.5. Otros 10.6. Configuración desde Apache 10.7. Configuración desde.htaccess 10.8. Configuración desde código php Módulo 11. Debugging 11.1. Debugging básico 11.2. Debugging avanzado Módulo 12. Documentación de código 12.1. Introducción 12.2. Descripciones 12.3. Tags 12.4. Templates 12.5. Packages 12.6 Extracción de la documentación Módulo 13. Seguridad 13.1. Introducción 13.1.1. Ejercicio 1: SQL 13.1.2. Ejercicio 2: HTML 13.1.3. Ejercicio 3: readfile 13.1.4. Ejercicio 4: system calls 13.1.5. Ejercicio 5: Uploads 13.1.6. Ejercicio 6: Cookies 13.1.7. Ejercicio 7: Passwords 13.1.8. Ejercicio 8: Información 6
13.1.9. Ejercicio 9: Sesiones 13.1.10. Ejercicio 10: Cross-Site Request Forgeries 13.1.11. Ejercicio 11: Formularios XXS 13.2. Mod_security 13.3. SAPI Input filter 13.4. Caracteres extraños Módulo 14. Estructuración de grandes aplicaciones 14.1. Iniciando el proyecto 14.1.1. Modularidad 14.1.2. Orientación a objetos 14.1.3. Nombres 14.1.4. Interfaces 14.1.5. Clases 14.1.6. Invocación 14.1.7. Autoload 14.1.8. Estilos 14.1.9. Base de datos 14.1.10. Documentación 14.2. Entorno de desarrollo 14.3. Optimización del sistema 14.4. Optimización de código 14.5. SRM 11. Metodología: El curso se llevará a cabo de forma on-line con un tutor personal. El e-learning es una forma de aprendizaje sustentado en las Nuevas Tecnologías e Internet. La plataforma LMS (Learning Management System) a través de la que se imparte el curso, es Moodle ( http://moodle.org/ ). Moodle es un sistema de gestión de aprendizaje basado en licencias GNU Public License (GPL), programado en Lenguaje PHP y soportado por una Base de Datos MySQL, que aporta grandes posibilidades para reflejar el diseño instruccional de cursos on-line. Los estudiantes, a través de nuestra plataforma de formación, tienen acceso a todos los contenidos del curso y a sus actividades, así como a otras herramientas de comunicación que permiten la interacción entre ellos y facilitan la comunicación de los mismos con el profesor. 7
Los elementos más destacados con los que contará el curso, y que estarán disponibles a través de nuestra plataforma, son los que aparecen a continuación: - Programa completo del curso - Calendario de actividades - Consulta de materiales didácticos - Fichas de contenido - Actividades de evaluación y autoevaluación - Consulta de resultados de evaluaciones - Visitas guiadas (Internet) - Listado de usuarios: profesores y alumnos (Correo electrónico) - Foros de debate - Chats (programados o libres) - Glosario - Zona de descarga del Software gratuito necesario para seguir el curso - Materiales del curso en formato PDF de Acrobat A la finalización del curso se elaborarán informes de aprovechamiento del mismo en los que se detallarán: los accesos por alumno, realización de actividades, puntuaciones obtenidas, participaciones en actividades síncronas (Chats) y asíncronas (Foros de debate), etc. y se emitirá una valoración global por alumno. 12. Evaluación: La evaluación se llevará a cabo a través de ejercicios de evaluación de corrección automática, participación en actividades de comunicación (foros de debate, chats) y realización de ejercicios y proyectos prácticos. 13. Calidad: El CITA es una entidad registrada en AENOR (ER-1052/2007). Todos nuestros cursos están certificados por la Norma ISO 9001:2000 de Sistemas de Gestión de la Calidad. 8
14. Inscripción y matrícula: Puede realizar la inscripción en el curso a través Campus Virtual del Centro Internacional de Tecnologías Avanzada. Para ello haga clic en el siguiente enlace: http://campus.fundaciongsr.es/camci/index.php?pid=cursos&accion=detalle&curso=353 y posteriormente, desde la página de información del curso, pulse en el botón Inscríbete en el curso que se encuentra situado en la parte inferior derecha de la pantalla. 15. Contacto: Para cualquier duda o cuestión relativa al curso, puede ponerse en contacto con nosotros a través del teléfono 923 56 83 84 o mediante el correo electrónico: María García Rodríguez maria@fundaciongsr.es Coordinadora del curso Carlos Vicente Hernández carlos.vicente@fundaciongsr.es Responsable de comunicación 9