Vous êtes sur la page 1sur 5

MMLab: Curso de PHP Unidad Didáctica: PHP.

doc
Por Vicente Aguilar <vaguilar@linuxfreak.com>

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
• Aprender a programar en PHP.

2.2. Objetivos Específicos


• Conocer las diferencias, sintácticas y semánticas, entre ASP y PHP.
• Ser capaz de pasar código simple ASP a PHP.
• Ser capaz de programar en PHP desde cero.
• Saber utilizar el control de sesiones de PHP.
• Acceder a Bases de Datos desde PHP.
• Realizar Webs complejas en PHP.

1
MMLab: Curso de PHP Unidad Didáctica: PHP.doc
Por Vicente Aguilar <vaguilar@linuxfreak.com>

3. Contenidos
• El lenguaje de programación PHP
• Forms
• Cookies
• Sesiones
• Tratamiento de errores
• Manipulación de strings y arrays
• Manejo de Ficheros
• POO: Clases y Objetos
• Acceso a Bases de Datos
• Características adicionales

4. Actividades de Enseñanza-Aprendizaje
• Introducción

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.

• El lenguaje PHP

o Actividad1: “Corregir código PHP” (PHP_Actividad1.tar.gz)

2
MMLab: Curso de PHP Unidad Didáctica: PHP.doc
Por Vicente Aguilar <vaguilar@linuxfreak.com>

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

• Programando en PHP

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.

3
MMLab: Curso de PHP Unidad Didáctica: PHP.doc
Por Vicente Aguilar <vaguilar@linuxfreak.com>

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
• Si fuera necesario, al principio de la sesión se realizarían actividades de
desinhibición para crear un ambiente de confianza y distensión en el aula.
• Explicaciones con PowerPoint.
• Actividades prácticas sobre un servidor con Apache y PHP, para la mejor
asimilación de los contenidos de las explicaciones.

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
• Para Actividad 1: PHP_a01_actividad1.tar.gz. Este archivo contiene un
fichero con la Actividad 1 corregida. El programa implementa la Criba de
Eratóstenes para calcular números primos.

• Para Actividad 2: PHP_a02_identificacion.tar.gz. Implementación de


ejemplo de la actividad 2.

• Para Actividad 3: PHP_a03_ahorcado.tar.gz. El archivo contiene una


implementación de ejemplo de la actividad.

4
MMLab: Curso de PHP Unidad Didáctica: PHP.doc
Por Vicente Aguilar <vaguilar@linuxfreak.com>

• Para Actividad 4: PHP_a04_mysql.tar.gz. Contiene los ficheros en SQL


necesarios para crear y borrar la base de datos, tablas y usuarios en MySQL
que se necesitarán para realizar la actividad.
PHP_a05_bases_datos.tar.gz. Contiene una implementación de ejemplo
de la actividad 4.

9. Bibliografía
• PHP: Hypertext Preprocessor
Página principal del PHP.
http://www.php.net

• PHP Annotated Manual


Manual del PHP con correcciones y anotaciones de los usuarios.
http://www.php.net/manual/

• Zend / Where PHP meets eBusiness


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

• Switching to PHP: What's the Language Difference?


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

• PHP Conference material site


Página con transparencias (en html) para diversas conferencias y cursos de
PHP.
http://conf.php.net