Anda di halaman 1dari 10

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

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>

En lugar de usar muchos comandos para mostar HTML (como en C o en Perl),


las pginas de PHP contienen HTML con cdigo incrustado que hace "algo" (en
este caso, mostrar "Hola, soy un script de PHP!). El cdigo de PHP est
encerrado entre lasetiquetas especiales de comienzo y final <?php y ?> que
permiten entrar y salir del "modo PHP".
Lo que distingue a PHP de algo como Javascript del lado del cliente es que el
cdigo es ejecutado en el servidor, generando HTML y envindolo al cliente. El
cliente recibir el resultado de ejecutar el script, aunque no se sabra el cdigo
subyacente que era. El servidor web puede ser incluso configurado para que
procese todos los ficheros HTML con PHP, por lo que no hay manera de que los
usuarios puedan saber qu se tiene debajo de la manga.
Lo mejor de usar PHP es que es extremadamente simple para el principiante,
pero a su vez ofrece muchas caractersticas avanzadas para los programadores
profesionales. No sienta miedo de leer la larga lista de caractersticas de PHP.
En unas pocas horas podr empezar a escribir sus primeros scripts.
Aunque el desarrollo de PHP est centrado en programacin de scripts del lado
del servidor, se puede utilizar para muchas otras cosas. Siga leyendo y
descubra ms en la seccin Qu puede hacer PHP?, o vaya directo al tutorial
introductorio si solamente est interesado en programacin web.

Qu puede hacer PHP?

Cualquier cosa. PHP est enfocado principalmente a la programacin de scripts


del lado del servidor, por lo que se puede hacer cualquier cosa que pueda hacer
otro programa CGI, como recopilar datos de formularios, generar pginas con
contenidos dinmicos, o enviar y recibir cookies. Aunque PHP puede hacer
mucho ms.
Existen principalmente tres campos principales donde se usan scripts de PHP.

Scripts del lado del servidor. Este es el campo ms tradicional y el foco


principal. Se necesitan tres cosas para que esto funcione. El analizador
de PHP (mdulo CGI o servidor), un servidor web y un navegador web.
Es necesario ejecutar el servidor, con una instalacin de PHP conectada.
Se puede acceder al resultado del programa PHP con un navegador,
viendo la pgina de PHP a travs del servidor. Todo esto se puede
ejecutar en su mquina si est experimentado con la programacin de
PHP. Vase la seccin sobre las instrucciones de instalacin para ms
informacin.
Scripts desde la lnea de comandos. Se puede crear un script de PHP y
ejecutarlo sin necesidad de un servidor o navegador. Solamente es
necesario el analizador de PHP para utilizarlo de esta manera. Este tipo
de uso es ideal para scripts ejecutados regularmente usando cron (en
*nix o Linux) o el Planificador de tareas (en Windows). Estos scripts
tambin pueden usarse para tareas simples de procesamiento de texto.
Vase la seccin Uso de PHP en la lnea de comandos para ms
informacin.
Escribir aplicaciones de escritorio. Probablemente PHP no sea el lenguaje
ms apropiado para crear aplicaciones de escritorio con una interfaz
grfica de usuario, pero si se conoce bien PHP, y se quisiera utilizar
algunas caractersticas avanzadas de PHP en aplicaciones del lado del
cliente, se puede utilizar PHP-GTK para escribir dichos programas.
Tambin es posible de esta manera escribir aplicaciones independientes
de una plataforma. PHP-GTK es una extensin de PHP, no disponible en
la distribucin principal. Si est interesado en PHP-GTK, puede visitar
su propio sitio web.

PHP puede usarse en todos los principales sistemas operativos, incluyendo


Linux, muchas variantes de Unix (incluyendo HP-UX, Solaris y OpenBSD),
Microsoft Windows, Mac OS X, RISC OS y probablemente otros ms. PHP
admite la mayora de servidores web de hoy en da, incluyendo Apache, IIS, y
muchos otros. Esto incluye cualquier servidor web que pueda utilizar el binario
de PHP FastCGI, como lighttpd y nginx. PHP funciona tanto como mdulo como
procesador de CGI.
De modo que con PHP se tiene la libertad de elegir el sistema operativo y el
servidor web. Adems, se tiene la posibilidad de utilizar programacin por
procedimientos o programacin orientada a objetos (POO), o una mezcla de
ambas.
Con PHP no se est limitado a generar HTML. Entre las capacidades de PHP se
incluyen la creacin de imgenes, ficheros PDF e incluso pelculas Flash (usando
libswf y Ming) generadas sobre la marcha. Tambin se puede generar
fcilmente cualquier tipo de texto, como XHTML y cualquier otro tipo de fichero
XML. PHP puede autogenerar stos ficheros y guardarlos en el sistema de

ficheros en vez de imprimirlos en pantalla, creando una cach en el lado del


servidor para contenido dinmico.
Una de las caractersticas ms potentes y destacables de PHP es su soporte
para un amplio abanico de bases de datos. Escribir una pgina web con acceso
a una base de datos es increiblemente simple utilizando una de las extensiones
especficas de bases de datos (p.ej., para mysql), o utilizar una capa de
abstraccin como PDO, o conectarse a cualquier base de datos que admita el
estndar de Conexin Abierta a Bases de Datos por medio de la
extensin ODBC. Otras bases de datos podran utilizar cURL osockets, como lo
hace CouchDB.
PHP tambin cuenta con soporte para comunicarse con otros servicios usando
protocolos tales como LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (en
Windows) y muchos otros. Tambin se pueden crear sockets de red puros e
interactuar usando cualquier otro protocolo. PHP tiene soporte para el
intercambio de datos complejos de WDDX entre virtualmente todos los
lenguajes de programacin web. Y hablando de interconexin, PHP posee
soporte para la instalacin de objetos Java y usarlos de forma transparente
como objetos de PHP.
PHP tiene tiles caractersticas de procesamiento de texto, las cuales incluyen
las expresiones regulares compatibles con Perl (PCRE), y muchas extensiones y
herramientas para el acceso y anlisis de documentos XML. PHP estandariza
todas las extensiones XML sobre el fundamento slido de libxml2, y ampla este
conjunto de caractersticas aadiendo soporte
paraSimpleXML, XMLReader y XMLWriter.
Existen otras extensiones interesantes, las cuales estn
categorizadas alfabticamente y por categora. Y hay extensiones adicionales
de PECL que podran estar documentadas o no dentro del manual de PHP, tal
como XDebug.
Como se puede apreciar, esta pgina no es suficiente para enumerar todas las
caractersticas y beneficios que PHP ofrece. Consulte las secciones Instalacin
de PHP y Referencia de las funciones para una explicacin de las extensiones
mencionadas aqu.

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

Su primera pgina con PHP


Comienze por crear un fichero llamado hola.php y pngalo en el directorio raz
de su servidor web (DOCUMENT_ROOT) con el siguiente contenido:
Ejemplo #1 Nuestro primer script de PHP: hola.php
<html>
<head>
<title>Prueba de PHP</title>
</head>
<body>
<?php echo '<p>Hola Mundo</p>'; ?>
</body>
</html>

Utilice su navegador web para acceder al fichero con el URL de su servidor,


finalizado con la referencia al fichero /hola.php. Si est programando
localmente, este URL ser algo
como http://localhost/hola.php o http://127.0.0.1/hola.php, pero esto
depende de la configuracin de su servidor web. Si todo est configurado
correctamente, el fichero ser analizado por PHP y se enviar el siguiente
contenido a su navegador:
<html>
<head>
<title>Prueba de PHP</title>
</head>
<body>
<p>Hola mundo</p>

</body>
</html>

Este programa es extremadamente simple y realmente no es necesario usar


PHP para crear una pgina como esta. Lo nico que muestra es: Hola
mundo usando la sentencia echo de PHP. Observe que el fichero no necesita
ser ejecutable o especial de ninguna forma. El servidor reconoce que este
fichero necesita ser interpretado por PHP debido al uso de la extensin ".php",
ya que el servidor est configurado para enviarlo a PHP. Piense como si fuera
un fichero HTML normal que tiene una serie de etiquetas especiales disponibles
con las que puede hacer muchas cosas interesantes.
Si intent usar este ejemplo y no produjo ningn resultado, se le pregunt si
deseaba descargar el fichero, o se mostr todo el fichero como texto, lo ms
seguro es que PHP no se encuentre habilitado en su servidor o no est
configurado adecuadamente. Pdale a su administrador que lo habilite usando el
captulo Instalacin del manual. Si est trabajando localmente, lea tambin el
captulo dedicado a la instalacin para asegurarse de que todo est configurado
adecuadamente. Asegrese de que est accediendo al fichero mediante http y
que el servidor muestre el resultado. Si est abriendo el fichero desde el
sistema de ficheros, probablemente no ser analizado por PHP. Si el problema
persiste, no dude en usar alguna de las mltiples opciones del Soporte para
PHP.
El objetivo de este ejemplo es el formato de las etiquetas especiales de PHP. En
este ejemplo usamos <?php para indicar el inicio de una etiqueta de PHP.
Despus ponemos la sentencia y abandonamos el modo PHP aadiendo la
etiqueta de cierre ?>. De esta manera, se puede entrar y salir del modo PHP en
un fichero HTML cada vez que se quiera. Para ms informacin, lea la seccin
del manual titulada Sintaxis bsica de PHP.
Nota: Una observacin sobre los avances de lnea
Los avances de lnea tienen poco sentido en HTML, aunque sigue siendo buena
idea hacer que el cdigo HTML se vea limpio y claro poniendo avances de lnea.
PHP automticamente eliminar los avances de lnea que estn despus de una
etiqueta de cierre ?>. Esto puede ser muy til al poner muchos bloques de PHP
o incluir ficheros que contienen PHP y que se supone que no deben mostarar
nada. Al mismo tiempo, puede resultar un poco confuso. Se puede poner un
espacio despus de la etiqueta de cierre ?> para mostrar forzosamente un
espacio y un avance de lnea, o se puede poner un avance de lnea explcito en
el ltimo echo/print dentro del bloque de PHP.
Nota: Una observacin sobre los editores de texto
Hay muchos editores de texto y Entornos de Desarrollo Integrados (IDE por sus
siglas en Ingls) que se pueden usar para crear, editar, y gestionar ficheros de
PHP. Se puede encontrar una lista parcial de stos en Lista de editores de
PHP. Si desea recomendar un editor, por favor visite la pgina mencionada
anteriormente y pregunte al mantenedor de la pgina para que lo incluyan en la
lista. Contar con un editor que resalte la sintaxis puede ser de mucha ayuda.
Nota: Una observacin sobre los procesadores de texto

Los procesadores de texto como StarOffice Writer, Microsoft Word y Abiword no


son buenas opciones para editar ficheros de PHP. Si desea usar uno de stos
programas para probar este script, debe asegurarse de guardar el documento
como texto sin formato o PHP no ser capaz de leerlo y ejecutarlo.
Nota: Una observacin sobre el Bloc de Notas de Windows
Si escribe sus scripts de PHP usando el Bloc de Notas de Windows, debe
asegurarse de que sus ficheros sean guardados con la extensin .php. (El Bloc
de Notas automticamente aade la extensin .txt a los ficheros a menos que
siga los siguientes pasos para prevenirlo). Cuando guarde el fichero y el
programa le pregunte qu nombre desea dar al fichero, entrecomille el nombre
(es decir, "hola.php"). Una alternativa es hacer clic en el men desplegable
"Documentos de Texto (*.txt)" del cuadro de dilogo "Guardar como", y
cambiar a la opcin "Todos los archivos (*.*)". Aqu puede escribir el nombre
del fichero sin las comillas.
Ahora que ha creado un pequeo script de PHP que funciona correctamente, es
hora de crear el script de PHP ms famoso: hacer una llamada a la
funcin phpinfo() para obtener mucha informacin til acerca de su sistema y
configuracin, como las variables predefinidas disponibles, los mdulos de PHP
cargados, y los ajustes de configuracin. Tmese algo de tiempo para revisar
esta importante informacin.

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'];
?>

Un ejemplo del resultado de este script podra ser:


Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)

Hay muchos tipos de variables en PHP. En el ejemplo anterior se muestra un


elemento de un Array. Los arrays pueden ser muy tiles.
$_SERVER es simplemente una variable que se encuentra disponible
automticamente en PHP. Se puede encontrar una lista en la seccin Variables
reservadas del manual, o se puede obtener una lista completa observando la
salida de la funcin phpinfo()usada en el ejemplo de la seccin anterior.
Puede usar mltiples sentencias de PHP dentro de una etiqueta PHP y crear
pequeos bloques de cdigo que realicen ms que un solo 'echo'. Por ejemplo,
si se quisiera detectar el uso de Internet Explorer, se podra hacer algo as:
Ejemplo #2 Ejemplo usando estructuras de control y functiones
<?php
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) {
echo 'Est usando Internet Explorer.<br />';
}
?>

Un ejemplo del resultado de este script sera:


Est usando Internet Explorer.<br />

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
}
?>

Un ejemplo del resultado del script podra ser:


<h3>strpos() debe haber devuelto no falso</h3>
<p>Est usando Internet Explorer</p>

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.

Tratar con formularios


Otra de las caractersticas ms potentes de PHP es la forma en que gestiona
formularios HTML. El concepto bsico que es importante entender es que
cualquier elemento de un formulario estar disponible automticamente en sus
scripts de PHP. Por favor, lea la seccin del manual sobre Variables desde
fuentes externas para obtener ms informacin y ejemplos sobre cmo usar
formularios con PHP. Observemos un ejemplo:
Ejemplo #1 Un formulario HTML sencillo
<form action="accion.php" method="post">
<p>Su nombre: <input type="text" name="nombre" /></p>
<p>Su edad: <input type="text" name="edad" /></p>
<p><input type="submit" /></p>
</form>

No hay nada especial en este formulario. Es solamente un formulario HTML sin


ninguna clase de etiqueta especial. Cuando el usuario rellena este formulario y
oprime el botn de envo, se llama a la pgina accion.php. En este fichero se
podra escribir algo as:
Ejemplo #2 Mostrar informacin de nuestro formulario
Hola <?php echo htmlspecialchars($_POST['nombre']); ?>.
Usted tiene <?php echo (int)$_POST['edad']; ?> aos.

Un ejemplo del resultado de este script podra ser:


Hola Jos. Usted tiene 22 aos.

Excepto las partes de htmlspecialchars() y de (int), debera ser obvio qu es lo


que hace el cdigo. htmlspecialchars() se asegura de que cualquier carcter
que es especial en html sea codificado adecuadamente, de manera que nadie
pueda inyectar etiquetas HTML o Javascript en la pgina. El campo edad, ya
que sabemos que es un nmero, podemos convertirlo a un valor de

tipointeger que automticamente se deshar de cualquier carcter no


numrico. Tambin se puede hacer lo mismo con PHP con la extensin filter.
Las variables $_POST['nombre'] y $_POST['edad'] son establecidas
automticamente por PHP. Anteriormente hemos usado la
superglobal $_SERVER; arriba introdujimos la superglobal $_POST, la cual
contiene todos los datos de POST. Observe que el mtodo de nuestro
formulario es POST. Si hubisemos usado el mtodo GET, nuestra informacin
estara en su lugar en la superglobal $_GET. Tambin se podra usar la
superglobal $_REQUEST, si no le preocupa la fuente de los datos solicitados.
Contiene toda la informacin mezclada de los datos de GET, POST y COOKIE.
Vea tambin la funcinimport_request_variables().
En PHP, tambin puede tratar con entradas de XForms; aunque probablemente
al principio se sienta cmodo con los formularios de HTML, los cuales estn
ampliamente respaldados. A pesar de que trabajar con XForms no es para
principiantes, podran interesarle. Si es as, en la seccin de caractersticas hay
una pequea introduccin a la manipulacin de datos recibidos desde XForms.

Usar cdigo antiguo en nuevas versiones de PHP


Ahora que PHP ha crecido y se ha convertido en un lenguaje popular, hay
muchos ms repositorios y bibliotecas que contienen cdigo que puede
reutilizar. Los desarrolladores de PHP han intentado preservar la
retrocompatibilidad, es decir, si un script fue escrito para una versin antigua,
funcionar (idealmente) sin ningn cambio en una versin reciente de PHP. En
la prctica, son necesarios normalmente algunos cambios.
Dos de los cambios ms importantes que afectan el cdigo antiguo son:

La obsolescencia de los antiguos arrays $HTTP_*_VARS (que necesitan


ser indicados como globales al utilizarlos dentro de una funcin o
mtodo). Los siguientes arrays superglobales fueron introducidos en
PHP 4.1.0.
Son: $_GET, $_POST,$_COOKIE, $_SERVER, $_FILES, $_ENV, $_REQUE
ST, y $_SESSION. Los antiguos arrays $HTTP_*_VARS,
como$HTTP_POST_VARS, todava existen. A partir de PHP 5.0.0, los
arrays de variables predefinidas de tipo long de PHP se pueden
desactivar con la directiva register_long_arrays .
Las variables externas ya no son registradas en el mbito global de
forma predeterminada. En otras palabras, a partir de PHP 4.2.0, la
directiva de PHP register_globals est desactivada (off) por defecto
en php.ini. El mejor mtodo para acceder a estos valores es por medio
de las variables superglobales mencionadas anteriormente. Los scripts,
libros y tutoriales antiguos podran contar con que est directiva est
activada (on). Si fuera on, por ejemplo, se podra usar $id desde el
URLhttp://www.example.com/foo.php?id=42. Ya est activada o
desactivada, $_GET['id'] est siempre disponible.

Para ms informacin relacionada con estos cambios, vase la seccin


sobre variables predefinidas y los enlaces que incluye.

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/

Anda mungkin juga menyukai