Inicio

viernes, 22 de julio de 2011

Probando PHP.Instalando XAMPP

Al objeto de poder probar nuestros códigos en PHP precisamos enviar nuestras páginas a un servidor. Para ello caso de que no tengamos hosting o conexión a algún sevidor, tenemos la opción de montar un servidor local. Para montar un servidor de páginas web en buenas condiciones, es necesario disponer tanto de un un servidor de páginas web propiamente dicho, como un lenguaje de programación y una base de datos.Existe software libre que nos proporciona esas herramientas con una calidad notable:
  • Apache:el servidor de páginas web más utilizado.
  • Mysql: gestor de base de datos.
  • PHP: el lenguaje de referencia para el desarrollo web.
Por ello a las combinaciones de servidores Linux, con Apache, MySQL y PHP se les ha llamado siempre plataformas LAMP. Como esos programas también tienen versión para Windows, también se habla de plataformas WAMPP.
Una de estas plataformas más utilizadas es XAMPP. La última versión disponible actualmente (abril de 2011) es la versión 1.7.4 (del 22 de enero de 2011), que incluye Apache 2.2.17, PHP 5.3.5, MySQL 5.5.8 y otras utilidades.
XAMPP está disponible tanto para Windows como para GNU/Linux.

Instalación de XAMPP en Windows XP

Nota: Antes de instalar un servidor de páginas web es conveniente comprobar si no hay ya uno instalado. Para ello, es suficiente con abrir el navegador y escribir la dirección http://localhost. Si no se obtiene un mensaje de error es que hay algún servidor de páginas web instalado.

La última versión de XAMPP disponible actualmente (abril de 2011) es la versión 1.7.4 (del 22 de enero de 2011), que incluye Apache 2.2.17, PHP 5.3.5, MySQL 5.5.8 y otras utilidades y la versión para Windows puede descargarse desde este enlace. Una vez obtenido el archivo de instalación de XAMPP, hay que hacer doble clic sobre él para ponerlo en marcha. Las imágenes que se muestran a continuación corresponden a la instalación de XAMPP 1.7.4 en Windows XP.

La primera pantalla permite elegir el idioma de instalación, entre los que no se encuentra el español. Para empezar la instalación, hay que hacer clic en el botón "OK".
Instalación de XAMPP - Selección de idioma

A continuación se inicia el asistente de instalación. Para continuar, hay que hacer clic en el botón "Next".
Instalación de XAMPP - Segunda ventana

En la siguiente pantalla se puede elegir la carpeta de instalación de XAMPP. La carpeta de instalación predeterminada es C:\xampp. Si se quiere cambiar, hay que hacer clic en "Browse..." y seleccionar la carpeta donde se quiere instalar XAMPP. Para continuar la configuración de la instalación, hay que hacer clic en el botón "Next".
Nota: En los ordenadores de clase hay que tener en cuenta la unidad en la que se quiere instalar XAMPP (C:\ o D:\), ya que por omisión se instala en la unidad C:\.
Instalación de XAMPP - Carpeta de instalación

En la pantalla siguiente se puede configurar XAMPP como servicio, para que se inicie cada vez que se incie Windows. En este curso se recomienda instalar tanto Apache como MySQL. Para completar la configuración de la instalación e iniciar la copia de archivos, hay que hacer clic en el botón "Install".
Instalación de XAMPP - Servicios

A continuación, se inicia el proceso de copia de archivos, que puede durar unos minutos.
Instalación de XAMPP - Copia de archivos

Una vez terminada la copia de archivos, se muestra la pantalla que confirma que XAMPP ha sido instalado. Hay que hacer clic en el botón "Finish".
Instalación de XAMPP - Copia terminada

Comienza entonces la instalación de los servicios. Al iniciarse el servidor Apache por primera vez, el cortafuegos de Windows muestra un alerta de seguridad para que indiquemos si debe bloquearse el puerto 80 utilizado por el servidor. Es necesario hacer clic en "Desbloquear" para poder acceder a páginas web en el servidor.
Instalación de XAMPP - Desbloqueo del cortafuegos

Cuando se termina la instalación de los servicios, se muestra una ventana que confirma que los servicios han sido instalados. Hay que hacer clic en el botón "Aceptar".
Instalación de XAMPP - Fin de la instalación de servicios

Finalmente, se termina la instalación y se da la posibilidad de abrir el panel de control de XAMPP. Para arbirlo y comprobar los servcicios instalados, hay que hacer clic en "Sí".
Instalación de XAMPP - Fin de la instalación

El panel de control de XAMPP muestra los servicios instalados
Instalación de XAMPP - Panel de control

Para comprobar que todo funciona correctamente, hay que escribir en el navegador la dirección "http://localhost". Al abrir la página por primera vez, XAMPP pedirá seleccionar el idioma:
Página inicial de XAMPP
Una vez elegido el idioma, se mostrará la página de configuración de XAMPP:
Página inicial de XAMPP

Estructura de una página en PHP

Una página PHP es un archivo de texto que contiene uno o varios fragmentos de código PHP y que también puede contener fragmentos de código HTML.

Los fragmentos de código PHP están delimitados por las etiquetas  <?php  (etiqueta inicial) y ?> (etiqueta final). PHP puede configurarse para poder utilizar otras etiquetas delimitadoras (como o <% ... %>), pero se recomienda utilizar exclusivamente .

Los fragmentos de código HTML no están delimitados, en una página PHP todo lo que no son fragmentos PHP son fragmentos HTML.

Cuando un navegador solicita una página PHP a un servidor, el servidor lee el archivo secuencialmente y va generando el resultado:

Si la página contiene fragmentos HTML, el código HTML se incluye sin modificados en el resultado.
Si la página contiene fragmentos PHP, se ejecutan las instrucciones que se encuentran en los fragmentos de código PHP. Si esas instrucciones generan texto, el texto se incluye en el resultado.

Cuando el servidor termina de leer el archivo, el servidor envía al navegador el resultado.

Es importante señalar que:

El navegador recibe una página web (es decir, únicamente código HTML), no recibe código PHP.
Los fragmentos PHP tiene que generar las etiquetas HTML que se necesiten para una correcta visualización de la página web en el navegador.
El navegador no puede distinguir en la página recibida, qué parte ha sido generada en un fragmento PHP y qué parte se encontraba ya en un fragmento HTML.
Como la página PHP se lee secuencialmente, el código HTML generado por los fragmentos PHP y el incluido en los fragmentos HTML se encuentran en el mismo orden en que se encontraban los fragmentos en la página PHP.
En un fragmento PHP no pueden escribirse etiquetas HTML sueltas; el código HTML debe generarse siempre con instrucciones de PHP, pero en una misma página PHP pueden alternarse fragmentos PHP y fragmentos HTML.
Si en una misma página hay varios fragmentos PHP, se tratan como un único programa.

miércoles, 20 de julio de 2011

Qué es PHP

PHP es un lenguaje de programación dirigido a la creación de páginas web dinámicas, es decir aquellas que se generan a partir de lo que un usuario introduce mediante un formulario u otra aplicación o fichero.
No es un lenguaje de programación orientado a objetos, sino que es procedural.
PHP es código que se inserta dentro del propio código HTML por ejemplo:


<HEAD>

<TITLE>Ejemplo 1</TITLE>

</HEAD>

<BODY>
<?

echo "Hola, este es mi primer script en PHP!";

?>
</BODY>

</HTML>


A principios de los años 90 Tim Berners-Lee estableció las bases de la World Wide Web cuando desarrolló, mientras trabajaba en el CERN, el primer servidor web (CERN httpd) y el primer navegador de la historia (WorldWideWeb, más tarde rebautizado como Nexus). Durante los primeros meses, la web consistió en una pequeña gran colección de documentos estáticos escritos en HTML, pero no pasó mucho tiempo antes de que Robert McCool y su equipo del NCSA pensaran en la posibilidad de poder responder a las peticiones del navegador con el resultado de la ejecución de pequeños programas, permitiendo así al servidor web una mayor interacción con el usuario.

Así nació en 1993 CGI (Common Gateway Interface), como parte del servidor NCSA HTTPd, que más tarde daría origen al famoso Apache. Esta tecnología, que aún se utiliza ampliamente en los servidores web debido a su sencillez, definía una interfaz común mediante la cuál el servidor web, y por tanto el cliente, podía comunicarse con un programa situado en el servidor, utilizando para ello variables de entorno predefinidas, argumentos de línea de comandos, y la entrada y salida estándar. La mayoría de estos programas estaban escritos en C o en Perl.

En aquellos años, las páginas web solían ser documentos de texto guardados en algún directorio de un servidor y a los que se podía acceder mediante los primeros navegadores web. Cada página web que se veía en el navegador correspondía a un fichero en el servidor.

Este esquema de funcionamiento es suficiente para sitios web pequeños creados por una sola persona, pero en cuanto un sitio web empieza a crecer, empiezan a surgir los problemas. Por ejemplo:

* si el sitio contiene muchas páginas es necesario crear menús que permitan orientarse por el sitio. Como cada página debe contener el menú, cualquier cambio en el menú obliga a modificar todas las páginas.
* si el sitio modifica a menudo su contenido (por ejemplo, la web de un periódico), tener que editar manualmente los ficheros ralentiza el proceso.
* si el sitio es creado por varias personas, cualquiera puede modificar por error los ficheros de otras personas y si varias personas quieren modificar el mismo fichero se pueden producir conflictos.
* si se quiere permitir la participación del público (foros, comentarios en blogs, etc), esta participación depende de que uno de los autores modifique los ficheros, lo que ralentiza el proceso.
* si personas sin conocimientos técnicos quieren participar en la creación del sitio, pueden cometer errores editando los ficheros.

La solución es que las páginas no sean ficheros estáticos guardados en el disco, sino que se generen cuando el usuario las solicite.

Por ejemplo, para resolver el problema de los menús comentado anteriormente, una solución sería que el menú estuviera en un fichero aparte y cuando el usuario solicitara una página, el menú se añadiera al principio de cada página (nota: no me refiero a la composición de páginas mediante frames, una solución desaconsejada hace muchos años, sino a componer un único fichero a partir de varios).

Esa generación de las páginas se puede hacer de varias maneras. Una de ellas es recurrir a lenguajes de programación generales o específicos (como PHP). Desde sus inicios, los servidores web permiten recurrir a lenguajes de programación para generar las páginas web.

Bienvenido

Me llamo Enrique Manuel Cabello Portero y les doy la bienvenida a este Blogg que pretende ser un apoyo didáctico para mis alumnos de los cursos de Formación de TESAU. No obstante está también orientado a personas sin conocimientos previos de creación de páginas webque quieran adentrarse en el mundo de la programación Web.