|
Documentos con informacion del curso
Introduccion a la plataforma de desarrollo PHP
- PHP en Linux (Fedora o Ubuntu)
- PHP en Windows XP, Vista o 7
- PHP en Mac OS X 10.6 (Snow Leopard)
- Ventajas y desventajas de los stacks (instalacion integrada)
- Editores de texto e IDE's para desarrollo (gratuitos y comerciales)
Apache
- Instalacion de Apache 2.2 en Windows
- Instalador de apache.org vs Instalador de apachelounge.com
- Utilizacion de Apache en Linux (Fedora o Ubuntu)
- Utilizacion de Apache en Mac OS X 10.6 (Snow Leopard)
- Verificar disponibilidad del puerto de Apache
- Consideraciones especiales al instalar en 64 bits
- Abriendo el puerto de Apache en el Firewall
- Trabajando con el servicio(daemon) de Apache: Arrancar, detener y verificar el estatus del servicio
- Alojamiento de paginas Web
- Manejo de Alias para alojar aplicaciones web
- Manejo de .htaccess para configurar las aplicaciones
IIS
- Integracion de PHP con IIS: CGI vs ISAPI vs FastCGI
- Microsoft Web Platform Installer (Web PI)
- Instalar prerequisitos de Web PI: .NET Framework y IIS
- Instalar PHP con modulo FastCGI en IIS con Web PI
- Verificar disponibilidad del puerto de IIS
- Abriendo el puerto de IIS en el Firewall
- Trabajando con el servicio de IIS: Arrancar, detener y verificar el estatus del servicio
- Alojamiento de paginas Web
- Manejo de Directorios Virtuales para alojar aplicaciones web
- Manejo de web.config para configurar las aplicaciones
- Asignar archivos php.ini individuales a las aplicaciones
PHP
- Instalacion de PHP 5.3 en Windows
- Integracion de PHP 5.3.6 con Apache: Visual C++ 6 vs Visual C++ 9
- Utilizacion de PHP en Linux (Fedora o Ubuntu)
- Utilizacion de PHP en Mac OS X 10.6 (Snow Leopard)
- Consideraciones especiales al instalar en 64 bits
- Configuracion de PHP
- Integrar PHP con Apache
HTML - XHTML
- Definicion de etiquetas y atributos
- Estructuras de paginas HTML y XHTML
- Codificacion de paginas: ISO-8859-1 vs UTF-8
- Manejo de texto
- Comentarios HTML para deshabilitar bloques de contenido
- Incluir imagenes en las paginas
- Formatos de imagenes: GIF vs JPG vs PNG
- Utilizacion de Hipervinculos
- Etiquetas depreciadas de uso comun
- Manejo de espacio en blanco
- Manejo de caracteres especiales y reservados mediante el uso de entidades HTML
- Uso de listas para organizar la informacion
- Utilizar tablas HTML para listados y ordenamiento de elementos
- Manejo de colores: Por nombre, Hexadecimal, RGB, selectores de colores (color pickers) y generadores de colores
- Utilizar rutas absolutas y relativas para definir la ubicacion de contenido
CSS - Hojas de estilo en cascada
- Utilizar CSS para definir la presentacion de los elementos de una aplicacion web
- Tipo de CSS: En linea, incorporados y externos
- Definicion de los estilos mediante reglas y selectores
- Aplicar los estilos: Por tipo de elemento, por calse y por identificador (id)
- Agrupar selectores
- Utilizacion de DIV's y SPAN's
- Margenes
- Espaciado
- Caracteristicas del fondo de un elemento: Color, imagen, posicion, etc.
- Manejo de fuentes (fonts)
- Caracteristicas del texto: Color, alineacion, etc.
- Definir los estados de los Hipervinculos
- Manejo de los bordes un elemento: Grosor, estilo, color, etc.
- Dfinir caracteristicas de listas: Tipo de marcador, imagenes como marcadores, etc.
- Definir el tipo de apuntador o cursor del raton
- Editores especializados en CSS (gratuitos y comerciales)
- Referencias de CSS en linea
Capturar de datos con Formas HTML
- Definicion de una forma HTML
- Botones: Enviar, restablecer y genericos
- Captura de texto: En una linea (text), multilinea (textarea), passwords y campos ocultos (hidden)
- Grupos de opciones (radio buttons)
- Casillas de seleccion (checkbox): Individuales y agrupadas por arreglos
- Menus (combobox), listas de seleccion individual y listas de seleccion multiple
- Utilizar imagenes para envio de datos en lugar de botones
- Maneras de enviar informacion capturada al servidor: POST y GET
- Ventajas y desventajas de POST vs GET
- Enviando informacion al navegador con PHP
- Procesar informacion de las formas HTML con PHP de manera segura
- Proteger las aplicaciones contra vulnerabiliad de register globals
- Proteger las aplicaciones contra ataques Cross Site Scripting (XSS)
- Validar las aplicaciones contra Magic Quotes
Programacion con PHP
- Definicion de variables
- Caracteristicas de las variables en PHP
- Tipos de datos
- Detalle del manejo de variables
- Funciones utiles para manipular variables string y numericas
- Manejo de arreglos
- Conversion de tipos de datos
- Manejo de constantes
- Operadores logicos, unitarios y de asignacion
- Controlar la ejecucion del codigo: If..else..elseif, switch y exit
- Ciclos: for, foreach, y while
- Funciones
- Alcance de las variables en las funciones
- Definicion y uso de librerias de funciones
- Definicion y uso de contenido comun en una aplicacion web
Manejo de Fechas
- Manejo de fechas con marcas de tiempo o timestamps
- Definir y utilizar fechas en diferentes Zonas Horarias
- Aplicar formatos a una fecha
- Generar marcas de tiempo
- Limitaciones de las marcas de tiempo
- Validar fechas
- Calcular fechas a futuro o pasado
- Calcular diferencias de tiempo entre dos fechas
- Calcular tiempo transcurrido entre dos fechas
- Trabajar con fechas en base a semanas
Programacion Orientada a Objetos con Clases
- Ventajas de las clases sobre las funciones procedurales
- Organizar el codigo con clases
- Caracteristicas de un objeto: Propiedades, miembros, constructores, metodos, accesores (getters y setters), etc.
- Definicon y manejo de modificadores de acceso (access modifiers): Publicos, privados y protegidos
- Obtener instancias de los objetos
- Extender la funcionalidad de un objeto mediante la herencia
- Sobreescribir (overrride) metodos heredados
Trabajando con el Protocolo HTTP - Encabezados
- Deteccion de las caracteristicas del navegador: Navegador, idioma, direccion IP, etc.
- Redireccionar a los usuarios de una pagina a otra
- Actualizar o refrescar automaticamente una pagina en cierto intervalo de tiempo
- Evitar que una pagina se aloje en el cache de los navegadores, proxys y/o firewalls
- Solicitar autenticacion (usuarios/password) para obtener acceso a una pagina
- Enviar archivos al navegador sin ofrecer una liga directa a los archivos
Cookies
- Deteccion de visitantes de un sitio
- Personalizar el contenido de un sitio para el visitante
- Compartir informacion entre las paginas de una aplicacion web
- Definir cookies
- Almacenar y leer informacion de las cookies
- Determinando la fecha de expiracion de las cookies
- Borrar las cookies
Sesiones
- Funcionamiento de las sesiones en PHP
- Habilitando las sesiones
- Crear, leer y borrar variables de sesion
- Controlar la duracion de las sesiones
- Usos comunes de las variables de sesion
- Sacar a los usuarios de una aplicacion web en un tiempo limite de inactividad
Uploads - Subir archivos al servidor
- Manejo de permisos
- Directivas php.ini que influyen en la transferencia de archivos
- Definicion de la forma HTML para subir el archivo
- Obtener las propiedades del archivo transferido
- Manipular el archivo transferido
- Subir varios archivos simultaneamente
Correo electrónico
- Configuracion de servicio SMTP en Linux con Sendmail
- Configuracion de servicio SMTP en Mac OS X con Postfix
- Configuracion de servicio SMTP en Windows XP y Vista con PostCast Server
- Configuracion de servicio SMTP en Windows 7 con smtp4dev o Papercut
- Trabajar con encabezados de protocolo SMTP
- Enviando correo en formato texto simple
- Enviando correo en formato HTML
- Enviando archivos atados (attachments)
- Autenticacion con servidores SMTP
Bases de datos
El curso incluye - una - de las siguientes bases de datos:
- MySQL
- PostgreSQL
- SQL Server
- Oracle
- Sybase
- Firebird
MySQL - Administracion
- Instalacion de MySQL 5.1 en Windows
- Utilizacion de MySQL en Linux
- Instalacion de MySQL 5.1 en Mac OS X 10.6 (Snow Leopard)
- Trabajando con el servicio(daemon) de MySQL: Como arrancar, detener y verificar el estatus del servicio
- Instalacion y utilizacion de cliente web phpMyAdmin
- Crear bases de datos
- Manejo de tablas: Motores de acceso MyISAM e InnoDB
- Manejo de campos: Tipo de datos, valores default, juegos de caracteres, atributos especiales, auto incremento, etc.
- Manejo de indices y llaves primarias
- Integridad referencial con llaves foraneas e InnoDB
- Ejecucion de scripts
- Importando informacion de archivos de texto en MySQL
- Administracion de Usuarios: Crear, borrar, cambiar passwords
- Administracion de privilegios: Otorgar y revocar permisos
- Respaldar y restaurar bases de datos en modo grafico y modo texto
- Obtener listado de conexiones activas al servidor MySQL
MySQL - Programacion
- Conectarse con MySQL desde PHP
- Proteger las aplicaciones contra ataques de SQL Injection
- Integrar tablas de MySQL con formas HTML
- Vaciar tablas de MySQL en tablas HTML con coloreo alternado de registros
- Elaborar paginas tipo listado - detalle
- Altas, bajas, cambios y consultas en MySQL con PHP
- Paginacion de registros (mostrar cierto numero de registros a la vez por pagina)
- Manejo de fechas: Seleccion de registros en base a rangos
- Aplicar formatos a campos de fechas desde MySQL
- Convertir fechas de MySQL a fechas de PHP
- Aplicar funciones de MySQL para trabajar con fechas y texto
- Moverse en el juego de registros
- Manejo de errores de MySQL
- Transacciones
- Utilizacion de estatutos preparados
- Utilizar Procedimientos Almacenados desde PHP
- Utilizar Vistas desde PHP
- Tecnicas para separar la informacion de conexion (servidor, usuario, password y base de datos) del codigo fuente
PostgreSQL - Administracion
- Instalacion de PostgreSQL 8.4 en Windows
- Utilizacion de PostgreSQL en Linux
- Instalacion de PostgreSQL 8.4 en Mac OS X 10.6 (Snow Leopard)
- Trabajando con el servicio(daemon) de PostgreSQL: Como arrancar, detener y verificar el estatus del servicio
- Crear bases de datos y esquemas (Schemas)
- Manejo de campos: Tipo de datos, valores default, juegos de caracteres, atributos especiales, secuencias, etc.
- Manejo de indices y llaves primarias
- Integridad referencial con llaves foraneas
- Ejecucion de scripts
- Administracion de Grupos: Crear, borrar
- Administracion de Usuarios: Crear, borrar, asignar a grupos
- Administracion de privilegios: Otorgar y revocar privilegios
- Respaldar y restaurar bases de datos
PostgreSQL - Programacion
- Conectarse con PostgreSQL desde PHP
- Proteger las aplicaciones contra ataques de SQL Injection
- Integrar tablas de PostgreSQL con formas HTML
- Vaciar tablas de PostgreSQL en tablas PostgreSQL con coloreo alternado de registros
- Elaborar paginas tipo listado - detalle
- Altas, bajas, cambios y consultas en PostgreSQL con PHP
- Paginacion de registros (mostrar cierto numero de registros a la vez por pagina)
- Manejo de fechas: Seleccion de registros en base a rangos
- Aplicar formatos a campos de fechas desde PostgreSQL
- Convertir fechas de PostgreSQL a fechas de PHP
- Aplicar funciones de PostgreSQL para trabajar con fechas y texto
- Moverse en el juego de registros
- Manejo de errores de PostgreSQL
- Transacciones
- Utilizacion de estatutos preparados
- Utilizar Procedimientos Almacenados desde PHP
- Utilizar Vistas desde PHP
- Tecnicas para separar la informacion de conexion (servidor, usuario, password y base de datos) del codigo fuente
Oracle
- Conectarse con Oracle desde PHP con strings de conexion y tsnames.ora
- Proteger las aplicaciones contra ataques de SQL Injection
- Integrar tablas de Oracle con formas HTML
- Vaciar tablas de Oracle en tablas HTML con coloreo alternado de registros
- Elaborar paginas tipo listado - detalle
- Altas, bajas, cambios y consultas en Oracle con PHP
- Paginacion de registros (mostrar cierto numero de registros a la vez por pagina)
- Manejo de fechas: Seleccion de registros en base a rangos
- Aplicar formatos a campos de fechas desde Oracle
- Convertir fechas de Oracle a fechas de PHP
- Aplicar funciones de Oracle para trabajar con fechas y texto
- Moverse en el juego de registros
- Manejo de errores de Oracle
- Transacciones
- Utilizar Vistas desde PHP
- Tecnicas para separar la informacion de conexion (servidor, usuario, password y base de datos) del codigo fuente
- NOTA
- Cada asistente debera tener instalado y configurado Oracle XE y el SQL Developer
SQL Server
- Configuracion de protocolos y puertos en SQL Server 2000, 2005 y 2008
- Extensiones disponibles para conectarse con SQL Server: MSSQL y SQLSRV
- Configuracion de extension MSSQL y SQLSRV
- Configuracion de extension SQLSRV
- Configuracion de FreeTDS en Ubuntu y Fedora (para extension MSSQL)
- Conectarse con SQL Server desde PHP
- Proteger las aplicaciones contra ataques de SQL Injection
- Integrar tablas de SQL Server con formas HTML
- Vaciar tablas de SQL Server en tablas HTML con coloreo alternado de registros
- Elaborar paginas tipo listado - detalle
- Altas, bajas, cambios y consultas en SQL Server con PHP
- Paginacion de registros (mostrar cierto numero de registros a la vez por pagina)
- Paginacion de registros compatible con SQL Server 2000 y optimizada para SQL Server 2005 - 2008
- Uso de formatos de fechas neutrales al lenguaje
- Manejo de fechas: Seleccion de registros en base a rangos
- Aplicar formatos a campos de fechas desde SQL Server
- Convertir fechas de SQL Server a fechas de PHP
- Aplicar funciones de SQL Server para trabajar con fechas y texto
- Moverse en el juego de registros
- Manejo de errores de SQL Server
- Manejo de cursores (extension SQLSRV)
- Transacciones
- Utilizar Procedimientos Almacenados desde PHP
- Auntenticacion integrada (extension SQLSRV) y autenticacion de SQL Server
- Conectarse con SQL Server Express 2008 (extension SQLSRV)
- Tecnicas para separar la informacion de conexion (servidor, usuario, password y base de datos) del codigo fuente
- NOTA
- Cada asistente debera tener instalado y configurado SQL Server 2008 Developer Edition
Sybase - Administracion
- Instalacion de Sybase ASE 15 en Windows
- Abriendo el puerto de Sybase en el Firewall
- Trabajando con el servicio de Sybase: Como arrancar, detener y verificar el estatus del servicio
- Instalacion de Sybase PC Client en Windows
- Configuracion de Sybase PC Client para conectarse con servidores Sybase ASE
- Manejo de Devices: Para datos y bitacoras
- Crear bases de datos
- Crear tablas
- Manejo de campos: Tipo de datos, atributos, identity, etc.
- Manejo de indices y llaves primarias
- Integridad referencial con llaves foraneas
- Ejecucion de scripts
- Importando informacion de archivos de texto en Sybase
- Crear cuentas de acceso (logins)
- Asociar logins con bases de datos
- Administracion de permisos: Otorgar y revocar permisos
- Respaldar y restaurar bases de datos
Sybase - Programacion
- Habilitar la extension de Sybase para PHP (sybase_ct) en Windows
- Configurar DLL's de Sybase para que PHP se conecte con Sybase ASE 15
- Proteger las aplicaciones contra ataques de SQL Injection
- Integrar tablas de Sybase con formas HTML
- Vaciar tablas de Sybase en tablas HTML con coloreo alternado de registros
- Elaborar paginas tipo listado - detalle
- Altas, bajas, cambios y consultas en Sybase con PHP
- Paginacion de registros (mostrar cierto numero de registros a la vez por pagina)
- Paginacion de registros con tablas temporales y sin tablas temporales
- Manejo de fechas: Seleccion de registros en base a rangos
- Aplicar formatos a campos de fechas desde Sybase
- Convertir fechas de Sybase a fechas de PHP
- Aplicar funciones de Sybase para trabajar con fechas y texto
- Moverse en el juego de registros
- Manejo de errores de Sybase
- Transacciones
- Utilizar Procedimientos Almacenados desde PHP
- Tecnicas para separar la informacion de conexion (servidor, usuario, password y base de datos) del codigo fuente
- NOTA
- Cada asistente debera tener instalado y configurado Sybase ASE 15.0 Developer Edition
Firebird
- Conectarse con Firebird desde PHP
- Proteger las aplicaciones contra ataques de SQL Injection
- Integrar tablas de Firebird con formas HTML
- Vaciar tablas de Firebird en tablas HTML con coloreo alternado de registros
- Elaborar paginas tipo listado - detalle
- Altas, bajas, cambios y consultas en Firebird con PHP
- Paginacion de registros (mostrar cierto numero de registros a la vez por pagina)
- Manejo de fechas: Seleccion de registros en base a rangos
- Aplicar formatos a campos de fechas desde Firebird
- Convertir fechas de Firebird a fechas de PHP
- Aplicar funciones de Firebird para trabajar con fechas y texto
- Moverse en el juego de registros
- Manejo de errores de Firebird
- Transacciones
- Tecnicas para separar la informacion de conexion (servidor, usuario, password y base de datos) del codigo fuente
- NOTA
- Cada asistente debera tener instalado y configurado Firebird 2.1 y una herramienta grafica como MiTEC Interbase Query o EMS SQL Management Studio
Material extra
- NOTA
- Los temas extras se cubren conforme tiempo disponible e interes de los asistentes
- Si le interesa cubrir muchos de estos temas es necesario agendar tiempo - adicional -
PEAR
- Instalacion de PEAR (PHP Extension and Application Repository) para tener acceso al repositorio de paquetes
- Configurar PEAR en Windows, Linux o Mac OS X 10.6 (Snow Leopard)
Excel
- Instalacion de Spreadsheet_Excel_Writer
- Generar archivos de Excel desde PHP
- Definir formatos de celdas: Tipo de bordes, color de bordes, color de fondo, etc.
- Definir formatos de texto: Fuente, tamaño, alineacion, color, negritas, etc.
- Definir colores personalizados
- Definir formulas de Excel
- Vaciar informacion en celdas
- Insertar imagenes en celdas
- Proteger celdas contra modificaciones
- Generar documento XLS y enviarlo al navegador o guardarlo en el servidor web
- NOTA
- Este tema requiere cubrir primero el tema PEAR
PDF
- Definir caracterisitcas generales del documento: Orientacion de hojas, tamaño, etc.
- Propiedades de un documento: autor, tema, titulo, etc.
- Presentacion del documento: Zoom, presentacion de paginas, etc.
- Manejo de fuentes: Tipo, tamaño, alineacion, color, etc.
- Celdas: bordes, grosor, tipo de relleno, colores, etc.
- Colores personalizados
- Imagenes: Posicionamiento, formatos, etc.
- Rectangulos y lineas libres
- Viculos (saltos) internos en un documento y externos a direcciones web
RTF - Documentos compatibles con Microsoft Word
- Generar documentos RTF compatibles con Microsoft Office y OpenOffice desde PHP
- Definir caracterisitcas generales del documento: Tamaño de hojas, margenes, etc.
- Definir formatos de bordes: Tipo de bordes, color, grosor, etc.
- Definir formatos de texto: Fuente, tamaño, color de texto, color de fondo, etc.
- Vaciar informacion en secciones y parrafos
- Insertar imagenes en el documento
- Manejo de tablas: Formatos, renglones, columnas, etc.
- Generar documento RTF y enviarlo al navegador
Texto simple
- Leer archivos de texto con valores separados por algun caracter (pipe, tabulador, etc.)
- Varias maneras de leer un archivo: Linea por linea, vaciar a un arreglo o a un string
- Crear y escribir texto en archivos fisicos
- Crear documentos de texto en memoria y enviarlos al navegador como descarga (sin guardarlos en un archivo fisico)
- Manejo de archivos CSV: Leer y escribir
- Crear documentos CSV en memoria y enviarlos al navegador como descarga (sin guardarlos en un archivo fisico)
- Ejecutar comandos del sistema operativo para trabajar con archivos de texto. Ejemplos con comandos dir y findstr (Windows), grep y find (Linux, Unix, Mac)
XML
- Uso de la extension nativa dom de PHP 5.0
- Uso de la extension nativa domxml de PHP 4.0
- Manejo de encabezados HTTP
- Manejo de Tipos MIME de XML
- Conversion de texto a UTF-8 (Unicodigo)
- Definir documentos simples de un solo registro
- Definir documentos de multiples registros para listados
- Definir documentos complejos
- Generar y guardar documentos en archivos fisicos en el servidor
- Crear documentos en memoria y enviarlos al navegador como descarga (sin guardarlos en un archivo fisico)
- Uso de validadores en linea para verificar los documentos generados
- NOTA
- En este tema se cubre como generar documentos XML, no se cubre como leer ni modificar archivos XML existentes
JSON
- JSON como una alternativa al XML
- Uso de la extension nativa de PHP 5.2
- Uso de librerias externas para versiones anteriores a PHP 5.2
- Manejo de encabezados HTTP
- Manejo de Tipos MIME de JSON
- Como visualizar JSON directamente en los navegadores
- Conversion de texto a UTF-8 (Unicodigo)
- Definir estructuras simples de un solo registro
- Definir estructuras de multiples registros para listados
- Definir estructuras complejas
- Uso de validadores en linea para verificar las estructuras generadas
- NOTA
- No se incluye ningun tema de JavaScript, solamente el manejo de JSON en el servidor web
Expresiones Regulares
- Simplificar drásticamente validaciones comunes
- Rangos de valores
- Calificadores
- Delimitadores, clases, caracteres especiales, alternar expresiones, modificadores
- Clases, caracteres especiales, agrupar expresiones
- Alternar expresiones, modificadores, etc.
- Validar captura numerica: Numeros enteros, positivos negativos, con decimales, etc.
- Validar capatura de texto: Nombres, listas alfabeticas, listas alfanumericas, RFC's
- Validar numeros telefonicos, tipos de archivos, fechas
- Validar direcciones de correo electronico, URL's, direcciones IP's
Sistema de archivos
- Manejo de permisos en Linux
- Obtener las propiedades de un archivo: Tamaño, tipo, ubicacion fisica, fecha de ultima modificacion, etc.
- Manipular archivos: Verificar existencia, crear, renombrar y borrar
- Manipular directorios: Verificar existencia, crear, renombrar, borrar y obtener contenido
Unicodigo
- Manejo de archivos con Unicodigo en Windows, Linux y Mac OS X
- Editores de texto gratuitos y comerciales con soporte a Unicodigo y UTF-8
- Preparar las paginas y formas HTML para el manejo de Unicodigo.
- Manejo de Unicodigo en MySQL
- PHP 4 y los problemas con el BOM de los archivos UTF-8
- Definicion de juegos de caracteres para contenido HTML, XML, JSON y texto simple
- Manejo de Unicodigo entre MySQL y PHP
- Uso de la extension mbstring (Multi-Byte String) para manipular strings con Unicodigo
- Uso de expresiones regulares para evaluar Unicodigo
- Manejo de caracteres en Español, Ingles, Portugués, Francés, Alemán, Sueco, Ruso, Griego, Japonés, Coreano, Chino simplificado y Arabe
PHP 4
- Instalacion y configuracion de PHP 4.4 en Windows
- Integracion de PHP 4.4 con Apache 2.2
- Cambiar entre PHP 4.4 y PHP 5.3
- NOTA
- Tema esta disponible unicamente para Windows
|