Introducción a PHP 4

 

Noviembre 2000

 

Vicente Aguilar <vaguilar@linuxfreak.com>

 

 

1. Introducción

 

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.

 

2. Objetivos

2.1. Objetivos Generales

 

2.2. Objetivos Específicos

 

3. Contenidos

 

4. Actividades de Enseñanza-Aprendizaje

 

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)

Una vez que los alumnos/as han demostrado lo poco (o mucho) que saben de PHP en la actividad inicial, se les dará aquí la oportunidad de corregir ellos mismos, buscando en Internet la información que confirme o rebata lo dicho en la “lluvia de ideas”. El profesor/a irá orientando al alumnado en la búsqueda y la presentación de los datos encontrados cuando sea necesario, y entre todos se irá corrigiendo y acotando la lista inicial de la actividad anterior.

 

 

 

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.

 

5. Metodología

 

6. Actividades de Evaluación

No se ha programado ninguna actividad de evaluación para este curso.

 

7. Recursos

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.

 

8. Anexos

 

 

 

PHP_a05_bases_datos.tar.gz. Contiene una implementación de ejemplo de la actividad 4.

 

9. Bibliografía

 

Página principal del PHP.

http://www.php.net

 

Manual del PHP con correcciones y anotaciones de los usuarios.

http://www.php.net/manual/

 

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.)

http://www.zend.com

 

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.

http://conf.php.net