Introducción
a PHP 4
Noviembre 2000
Vicente Aguilar <vaguilar@linuxfreak.com>
Con el
auge que ha experimentado Internet en los últimos años tanto en el sector
empresarial como en el doméstico, las necesidades de potencia y versatilidad en
el contenido de la WWW han aumentado, pasando de simples ficheros .html
mantenidos a mano con un editor de texto a grandes sistemas de Bases de Datos
accesibles desde el Web.
Existen
multitud de lenguajes de programación para acceder a estas Bases de Datos desde
el Web y así generar contenido de forma dinámica, en función de los últimos
acontecimientos registrados (Webs de noticias), los productos en catálogo (Webs
de tiendas o empresas), o incluso el usuario que está accediendo al servicio
(Webs que permiten personalizar la interfaz.) De todos estos lenguajes y
tecnologías, los más utilizados serían los CGIs (generalmente en Perl), el ASP
de Microsoft y los Servlets Java de SUN, hasta que PHP 3 hizo su aparición
pública hace tres años.
PHP es un
lenguaje interpretado en el servidor HTTP que permite acceder unos veinte tipos
de Bases de Datos distintas en diversos Sistemas Operativos y utilizando
distintos servidores HTTP. Sus principales bazas frente al resto de
competidores en el sector, además del hecho de ser multiplataforma, son su ALTA
velocidad de respuesta y que es “free software” bajo licencia GPL, esto es,
gratuito y con permiso a modificar el código fuente original (que está
disponible). Además PHP ofrece de serie gran cantidad de características y
añadidos (módulos) que en el resto de programas son extras que hay que obtener
(comprar) a parte del paquete básico.
El curso
va dirigido a personas con conocimientos previos de programación en general,
aunque se centra bastante en las diferencias entre PHP y ASP.
o Actividad0: “Lluvia de
ideas”
- Prerrequisitos:
No tiene, puesto que se trata de una actividad de iniciación para
detectar los conocimientos previos de los alumnos sobre PHP.
- Desarrollo:
(2 - 5 minutos)
Antes de empezar con las explicaciones teóricas de la sesión, el
profesor/a planteará al alumnado que enumere características de PHP o páginas
Web que conozcan y que estén realizadas en PHP. Esta lluvia de ideas, que no
durará más de 5 minutos, permite a los alumnos/as desinhibirse ya que no
precisa orden ni es necesario que las respuestas sean correctas; cualquier
respuesta será buena, y será apuntada en la pizarra.
A continuación, en lugar de ser el profesor el que realice un
“barrido” por las respuestas viendo cuáles son correctas y cuáles no, se pasará
a la siguiente actividad en la que los propios alumnos deberán buscar esta
información en Internet.
o Actividad0(bis):
“Búsqueda de información”
- Prerrequisitos:
No tiene, puesto que se trata de una actividad inicial, continuación y complemento de la anterior.
- Desarrollo:
(~10 minutos)
o Actividad1: “Corregir
código PHP” (PHP_Actividad1.tar.gz)
- Prerrequisitos:
Para realizar esta práctica el alumno/a debe haber asistido a la
explicación teórica del lenguaje PHP.
- Desarrollo:
(10 minutos)
Se proporcionará a los alumnos/as el fichero index.php
(contenido en el archivo PHP_Actividad1.tar.gz) con código PHP, y
deberán por una parte corregir todos los errores que encuentren y por otra
descubrir qué tarea realiza la función actividad1().
o Actividad2:
“Identificación de usuario”
- Prerrequisitos:
Haber asistido a la explicación teórica del curso hasta la sección 3.4.
- Desarrollo:
(~ 1 hora)
Los alumnos/as deberán realizar una página HTML con un formulario
que pida un nombre de usuario y contraseña. Estos datos se enviarán a una
página en PHP que los validará contra una lista de no menos de tres pares
usuario/contraseña válidos, mostrando un mensaje de error en caso de que la
identificación falle. Si todo va bien, se deberá almacenar la identificación
del usuario en una variable de sesión (para uso en las siguientes actividades)
y la fecha de la última visita a la página en una cookie.
El profesor/a animará al alumnado a que utilicen todas las características de PHP vistas en la primera parte del curso: bucles, listas, includes ... y que no se limiten a hacer lo básico. Hay tiempo de sobra y lo que se pretende es aprender.
NOTA:
A partir de esta actividad y durante todas las siguientes, los alumnos/as
deberán tener acceso a un servidor UNIX con Apache y PHP correctamente
instalados para realizar las prácticas, ya sea por telnet, Samba, o cualquier
otro protocolo de red.
o Actividad3: “El
ahorcado” (PHP_Actividad3.tar.gz)
- Prerrequisitos:
Haber asistido a la explicación teórica del curso hasta la sección 3.6.
- Desarrollo:
(hora y media – 2 horas)
Se proporcionará a los alumnos/as un fichero “palabras” con una
palabra en lengua castellana en cada línea, y otro “usuarios” con varias líneas
siguiendo el formato “usuario:clave:nombre” (ambos ficheros se encuentran en el
archivo PHP_Actividad3.tar.gz). En primer lugar tendrán que modificar el
código de la actividad anterior para que se lea el fichero “usuarios” y se
realice la autentificación contra los datos contenidos en este ficheros. En
segundo lugar, deberán realizar una implementación del juego de “el ahorcado”,
a la que se accederá tras la página de identificación. Utilizarán el fichero
“palabras” para obtener palabras al azar que el usuario deberá adivinar.
El profesor/a deberá dar las indicaciones precisas sobre el diseño
(ver implementación de ejemplo en PHP_a03_ahorcado.tar.gz) para que el
alumnado no invierta tiempo en pensar cómo organizar el código y se centre tan
sólo en programar en PHP.
o Actividad4: “Bases de
datos” (PHP_Actividad4.tar.gz)
- Prerrequisitos:
Haber asistido a la totalidad del curso.
- Desarrollo:
(~ 1 hora)
En esta práctica se modificará el código de la anterior para que
realice la identificación de los usuarios contra una base de datos, en lugar de
contra un fichero de texto. Así mismo, se añadirán páginas para dar de alta
nuevos usuarios, y modificar los datos personales o la contraseña del usuario
activo. En el archivo PHP_Actividad4.tar.gz se encuentran los ficheros
con las clases ConexionGenerica y ConexionMySQL explicadas en el
desarrollo teórico del curso.
No se ha
programado ninguna actividad de evaluación para este curso.
Será
necesario un proyector conectado debidamente a un ordenador que tenga instalado
el PowerPoint. Las transparencias se encuentran en el fichero PHP_transparencias.ppt.
También
será necesario tener acceso a un servidor UNIX con Apache y PHP debidamente
instalados, y con alguna cuenta de usuario preparada con la que poder realizar
las prácticas.
PHP_a05_bases_datos.tar.gz. Contiene una implementación de ejemplo de la actividad 4.
Página principal del PHP.
Manual del PHP con correcciones y
anotaciones de los usuarios.
Empresa de los creadores del motor del intérprete PHP (Zend).
Contiene mucha información, código y programas (un optimizador de consultas, y
los futuros depurador y compilador.)
Artículo que describe las diferencias entre PHP y otros lenguajes
(principalmente Perl, JavaScript y ASP.) Muy útil como base para redactar este
curso. :-)
http://www.zend.com/zend/art/langdiff.php
Página con transparencias (en html) para diversas conferencias y
cursos de PHP.