php
Qu es PHP?
PHP (acrnimo recursivo de PHP: Hypertext Preprocessor) es un lenguaje de
cdigo abierto muy popular especialmente adecuado para el desarrollo web y
que puede ser incrustado en HTML.
Bien, pero qu significa realmente? Un ejemplo nos aclarar las cosas:
Ejemplo #1 Un ejemplo introductorio
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Ejemplo</title>
</head>
<body>
<?php
echo "Hola, soy un script de PHP!";
?>
</body>
</html>
Qu necesito?
En este manual se asume que se cuenta con un servidor que tiene soporte
activado para PHP y que todos los ficheros con la extensin .php son tratados
por PHP. En la mayora de servidores, sta es la extensin predeterminada para
los ficheros de PHP, aunque puede preguntar al administrador de su servidor
para estar seguro. Si el servidor tiene soporte para PHP, entonces no es
necesario hacer nada. Simplemente cree sus ficheros .php, gurdelos en su
directorio web y el servidor los analizar por usted. No hay necesidad de
compilar nada o instalar otras herramientas. Piense en estos ficheros
habilitados para PHP como simples ficheros de HTML con el aadido de una
nueva familia de etiquetas mgicas que permiten todo tipo de cosas. La
mayora de las compaas de hospedaje de pginas web ofrecen soporte para
usar PHP, pero si por alguna razn no lo hacen, considere leer la seccin
Enlaces de PHP para ms informacin acerca de compaas de hospedaje que
tienen soporte para PHP.
Digamos que quiere ahorrar el preciado ancho de banda y trabajar localmente.
En este caso, querr instalar un servidor web, como Apache, y por
supuesto PHP. Lo ms seguro es que tambin quiera instalar una base de
datos como MySQL.
Puede instalarlos de forma independiente o bien puede elegir una manera ms
sencilla. Este manual contiene Instrucciones de instalacin de PHP (asumiendo
que tiene algn tipo de servidor web ya configurado). Si tuviera problemas con
la instalacin, sugerimos que formule sus preguntas en nuestra lista de
correo de instalacin. Si elige la manera ms sencilla, localice un paquete
preconfigurado para su sistema operativo, el cual instala automticamente todo
esto con nicamente unos pocos clics de ratn. Es sencillo configurar un
servidor web con soporte para PHP en cualquier sistema operativo, incluyendo
MacOSX, Linux y Windows. En Linux, podra encontrar
til rpmfind y PBone para localizar los RPMs. Tambin puede visitar aptget para buscar paquetes para Debian..
</body>
</html>
Algo til
Hagamos ahora algo que puede ser ms til. Vamos a comprobar qu tipo de
navegador est utilizando el usuario vistante. Para hacerlo, vamos a comprobar
el string del agente de usuario que el navegador enva como parte de la
peticin HTTP. Esta informacin es almacenada en una variable. En PHP, las
variables siempre comienzan con un signo de dlar. La variable que nos
interesa ahora es $_SERVER['HTTP_USER_AGENT'].
Nota:
$_SERVER es una variable especial reservada por PHP que contiene toda la
informacin del servidor web. Es conocida como una Superglobal. Consulte la
pgina del manual sobre Superglobales para ms informacin. Estas variables
especiales fueron introducidas en la versin 4.1.0 de PHP. Antes se podan
usar en su lugar los antiguos arrays $HTTP_*_VARS, tales
como$HTTP_SERVER_VARS. Aunque estn obsoletos, estos antiguos arrays
todava existen. (Vase tambin la nota sobre cdigo antiguo.)
Para mostrar esta variable, se puede hacer simplemente:
Ejemplo #1 Imprimir una variable (elemento de array)
<?php
echo $_SERVER['HTTP_USER_AGENT'];
?>
Aqu hemos introducido un par de conceptos nuevos. Tenemos una sentencia if.
Si est familiarizado con la sintaxis bsica del lenguaje C, debera parecerle
lgico. De lo contrario, probablemente debera conseguir un libro que le
introduzca a PHP, y leer el primer par de captulos, o leer la parte del manual
titulada Referencia del lenguaje.
El segundo concepto que introducimos fue la funcin
llamada strpos(). strpos() es una funcin integrada en PHP que busca un
cadena dentro de otra. En este caso estamos buscando 'MSIE' (tambin
llamado aguja) dentro de$_SERVER['HTTP_USER_AGENT'] (tambin llamado
pajar). Si la cadena se encuentra dentro del pajar, la funcin devuelve la
posicin de la aguja relativa al inicio del pajar. De lo contrario, devuelve FALSE.
Si no devuelve FALSE, la expresin if se evala como TRUE y se ejecuta el cdigo
entre llaves {}. De lo contrario, el cdigo no ser ejecutado. Tmese la libertad
de crear ejemplos similares, con if, else, y otras funciones
como strtoupper() y strlen(). Cada pgina del manual relacionada tambin
contiene ejemplos. Si no est seguro de cmo usar estas funciones, es
recomendable que lea las pginas del manual sobre Cmo interpretar una
definicin de funcin y la seccin sobre Funciones de PHP.
Podemos dar un paso ms y mostrar cmo se puede entrar y salir del modo
PHP incluso en medio de un bloque de cdigo de PHP:
Ejemplo #3 Mezcla de los modos HTML y PHP
<?php
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) {
?>
<h3>strpos() debe haber devuelto no falso</h3>
<p>Est usando Internet Explorer</p>
<?php
} else {
?>
<h3>strpos() debe haber devuelto falso</h3>
<p>No est usando Internet Explorer</p>
<?php
}
?>
En vez de usar una sentencia echo de PHP para mostrar algo, salimos del modo
PHP y enviamos solamente HTML. Este es un punto muy importante y potente
que debemos observar aqu, y es que la fluidez lgica del script permanece
intacta. Slamente uno de los bloques HTML terminar siendo enviado al
navegador dependiendo del resultado de strpos(). En otras palabras, depende
de si la cadena MSIE fue encontrada o no.
Y ahora qu?
Con sus nuevos conocimientos debera ser capaz de entender la mayora del
manual y los diversos scripts de ejemplo disponibles en los archivos de
ejemplos. Puede encontrar otros ejemplos en los sitios web de php.net en la
seccin de enlaces: http://www.php.net/links.php.
Para ver varias presentaciones que muestran ms acerca de lo que puede hacer
PHP, vase el Sitio de Material de Conferencias de PHP: http://talks.php.net/