Está en la página 1de 2

“Recetario de PHP”

GUÍA RÁPIDA DE PHP


Por Mauricio Monsalve Moreno
Versión 2 Marzo de 2007
Esta es una guía rápida de programación en PHP para la web. Contiene lo básico del lenguaje así como algunos métodos tradicionales para resolver problemas. En
otras palabras, esta guía está orientada al desarrollo inmediato de aplicaciones en PHP. Nota: la guía está orientada a gente que ha programado antes.

Integrando PHP y HTML Es importante notar que esto sigue siendo válido para componentes de
arreglos, si es que éstos son escalares. Por ejemplo:
Sea el siguiente código HTML: <?
<html><body>Hola Bola!</body></html> $arr = array(“automóvil”,”Batimóvil”);
echo “El $arr[0] de Batman es el $arr[1].”;
Generará una página web con el texto “Hola Bola!”. ¿Que tal hacer esto mismo ?>
100 veces? La solución PHP sería:
Lo anterior genera: “El automóvil de Batman es el Batimóvil.”
<html><body>
<? for( $i=0 ; $i<100 ; $i++)
echo “Hola Bola! <br>”; ?> Condiciones – control de flujo
</html></body>
La instrucción básica para el flujo condicional es el if. Su estructura es idéntica
En el código anterior, el texto en negritas corresponde al código en PHP. Este a la de Java y C:
código será leído por un intérprete y convertido a HTML. if (condición) {
En general, para incluir código PHP en un documento HTML se hace lo este bloque se ejecuta si la condición es cierta
} else {
siguiente: este bloque se ejecuta en caso contrario
código html }
<? //o bien <?php
código PHP Si el bloque “else” es innecesario, se puede eliminar, quedando:
?> if (condición) {
código html este bloque se ejecuta si la condición es cierta
}
Además, se debe especificar que el archivo debe ser interpretado por PHP. En
general, esto se logra -teniendo ya instalado PHP en el servidor- colocando la Por ejemplo, calculemos el máximo entre dos valores numéricos ($n1 y $n2) y
extensión .php a estas páginas dinámicas. dejemos el valor en $maximo:
Nota: El cliente no verá el código PHP. Sólo verá una salida HTML. Todo el $maximo=0;
if ($n1 > $n2) $maximo = $n1;
procesamiento ocurre de lado del servidor. else $maximo = $n2;
En el ejemplo anterior se omitieron los paréntesis de llave. Esto se permite
Declaración de variables en PHP
cuando en el bloque consiste sólo de una instrucción.
En PHP no es necesario declarar las variables (menos su tipo). De manera
simple, toda variable tiene un valor nulo asumido por defecto. Bucles o ciclos
Un truco simple para “inicializar” una variable es haciendo una asignación Los bucles son un elemento clásico de los lenguajes de programación. En
explícita: particular, el bucle for es el más tradicional:
<? for( declaración ; condición ; paso )
.... { bloque a ejecutar }
$hola=“hola”;
?> La sintaxis de for es la misma de Java y C.
Lo que hace el bucle for es declarar una variable según declaración (esto es
Tipos de variables omisible), ejecutar la condición para determinar si continuar el ciclo y, si
Los tipos de variable básico son escalar, arreglo y arreglo asociativo. continúa, ejecutar el bloque y realizar el paso. Ejemplo:
$alfa=”a”; //es un escalar for( $i=0 ; $i<100 ; $i++)
$beta=10; //otro escalar echo “i vale $i <br>”;
$arreg[0]=1; //es un arreglo El ejemplo escribe: i vale 0 <br>i vale 1<br>...<br>i vale 99<br>. $i vale 0, 1, 2,
echo $arreg[0]; //escribe “1”
$asoc[“hola”]=2; //es un arreglo asociativo 3... hasta 100. De 0 a 99, la condición se cumple. Pero cuando $i vale 100, $i<100
echo $asoc[“hola”]; //escribe “2” es falso, por lo que termina el for.
También es posible declarar arreglos de las siguientes formas: Otra instrucción de uso tradicional es el while. Su estructura es:
//arreglo tradicional: while( condición ) { bloque a ejecutar }
$arr=array(“cero”, ”uno”, ”dos”, ”tres”);
//arreglo asociativo: El bloque a ejecutar se ejecutará mientras la condición sea verdadera. Esto es
$aso=array(“cero” => “zero”, “uno” => “one”); equivalente a for( ; condición ; ) { bloque a ejecutar }.
Por ejemplo, $arr[1] vale “uno” y $aso[“uno”] vale “one”.
Nota: Para contar el número de elementos de un arreglo, sea o no asociativo, se Bucle recorriendo arreglos – foreach
usa count($arreglo). Para recorrer un arreglo tradicional se puede usar:
for($i=0; $i<count($arreglo); $i++) {
Operaciones con escalares //operar con $arreglo[$i]
}
En PHP no hay mayor diferencia entre valores numéricos y cadenas de texto
En el caso de un arreglo asociativo, los elementos consisten de una relación
(strings). El contenido de la variable será interpretado según la operación
binaria: clave => valor. En este caso se usa foreach:
usada: foreach( $asociativo as $clave => $valor ) {
$suma = ”1” + 2; //$suma vale 3 //operar con $clave y $valor
$resta = 10 – '7'; //$resta vale 3 }
$sumas = “un” + 2 + “3eq”; //$sumas vale 5
En el ejemplo anterior: $asociativo[$clave]==$valor. Además, foreach revisará
En operaciones aritméticas, PHP busca números en el contenido de las
todos los elementos del arreglo.
variables. Luego, “3eq” pasa a ser 3 ante una adición.
En el caso de la concatenación, el tema es más simple. El operador punto (.) es Creación de funciones o métodos
usado:
Esto es muy sencillo en PHP. La sintaxis para definir una función es:
$alfa = “uno ” . “dos”; //$alfa vale “uno dos”;
$beta = $alfa.”!”; //$beta vale “uno dos!”; function MiFunción($param1, $param2, ...) {
$gama = “¡$alfa!”; //$gama vale “¡uno dos!”; //operaciones
return $resultado; //valor a devolver
Como se pudo ver en el caso de la variable $gama, no es necesario realizar una }
concatenación explícita (usando punto). Basta incluir la variable dentro de la A modo de aclaración, no toda función devolverá un valor. Por ende, la
cadena de texto. instrucción return es opcional.
La función es llamada por su nombre y necesita todos los parámetros indicados página a aparecer será pag2.php, la que obtendrá los datos del formulario y los
en su definición. Ejemplo: procesará.
function mitad($valor) { Por ejemplo, implementemos un servicio que calcula el promedio de controles
return $valor/2 ;
}
de un curso (se supondrán tres controles):
echo mitad(10); //escribe el número 5 inicio.html
<html><body>
<form action=”prom.php” method=”POST”>
Inclusión de archivos .php Control 1: <input name=”c1” type=”text”><br>
Control 2: <input name=”c2” type=”text”><br>
PHP permite la inclusión de archivos .php o .html dentro de otro. La sintaxis Control 3: <input name=”c3” type=”text”><br>
para esto es: <input type=”submit”>
</form></body></html>
include “archivo.php”;
Esta instrucción se puede colocar dentro de cualquier bloque. prom.php
<html><body>Su promedio de notas es:
Es importante destacar que se puede incluir un archivo .php o .html y, en el <?
caso de los archivos .php, el código debe estar entre <? y ?>. $suma=$_POST[“c1”]+$_POST[“c2”]+$_POST[“c3”];
echo $suma/3.0; //necesito decimales
Un uso sencillo es la creación de bibliotecas. Por ejemplo: ?>
funciones.php </body></html>
<?
function sumar($a,$b,$c) { Los valores de los campos c1, c2 y c3 fueron capturados por el arreglo
return $a+$b+$c; asociativo $_POST debido a que el formulario usó el método POST. Si hubiese
}
?> usado el método GET, el arreglo asociativo que capturaría los campos del
formulario sería $_GET.
salida.php
<html><body>
La suma de 1+2+3 vale: Manejo de sesiones
<?
include “funciones.php”; //usa funciones.php
Cuando se está guardando información (variables) entre páginas de un mismo
echo sumar(1,2,3); servidor, se está haciendo uso de una sesión. Por ejemplo, un correo web
?>
</body></html>
necesita la autenticación una vez porque recuerda al usuario; el correo web
maneja una sesión.
En el ejemplo anterior, salida.php usa la función sumar definida en
Si una página inicia un sesión o la continúa, antes de usarse las variables de
funciones.php.
sesión es necesario ejecutar la instrucción session_start(). Es recomendable que
Otro uso sencillo es la inclusión de código HTML. Por ejemplo:
sea la primera instrucción PHP en la página (salvo en casos especiales, como la
cabecera.php
<html> alteración del tipo MIME).
<head><title>Chop, el e-Shop</title></head> Para usar las variables de sesión, es altamente recomendable usar el arreglo
<body bgcolor=”lightyellow” text=”black”>
asociativo $_SESSION como el contenedor de información de sesión. Este
salida.php método resultará exitoso, incluso cuando un servidor web esté mal
<? include “cabecera.php”; ?> //usa cabecera.php
Bienvenido a nuestro e-shop. Por favor salga. configurado.
</body></html> Para destruir la información de una sesión, se usa la instrucción
Lo anterior sirve para evitar reescribir la cabecera en varias páginas web, session_destroy(). La información de $_SESSION será destruida (muy útil
dejando todo en sólo un archivo común. Y como se puede notar, cabecera.php cuando se desean mantener datos seguros). Opcionalmente, al usar
no tiene nada de php. $_SESSION=array() es posible asegurarse que los datos de sesión han sido
destruidos.
Manejo de archivos Un ejemplo sencillo de sesiones: un sistema que recuerda el nombre del
Para leer un archivo, lo más cómodo es convertirlo a un arreglo así: usuario.
$lineas=file(“archivo.txt”); //devuelve un arreglo index.php
echo $lineas[0]; //primera línea de archivo.txt <html><body> Ingrese su nombre:
<form action=”pag1.php” method=”POST”>
Esto facilita mucho su manejo. Por ejemplo, para desplegar un archivo de texto <input type=”text” name=”user”>
en pantalla: <input type=”submit”>
</form></body></html>
$lineas=file(“archivo.txt”);
for($i=0 ; $i<count($lineas) ; $i++) pag1.php
echo “Linea $i: $lineas[$i] <br>”; <html><body>Usted es:
Sin embargo, la manera completa de abrir un archivo es con fopen. Su sintaxis <?
session_start();
es: $_SESSION[“usuario”]=$_POST[“user”];
$f=fopen(“archivo”,”flags”); echo $_SESSION[“usuario”];
?>
$f es un puntero de archivo. Los “flags” son w para sobreescribir (borra el <br><a href=”pag2.php”>Seguir</a>
archivo y escribe desde el principio), r para leer, a para anexar (escribir al </body></html>
final), etc. pag2.php
Para leer o escribir -teniendo $f ya definido por fopen- se usan: <html><body>Usted aún es:
<?
fwrite($f, “escribo esto!!!\n”); //evidente
session_start();
$txt = fread($f,n_bytes); //lee n_bytes de $f
echo $_SESSION[“usuario”];
Cuando se deja de usar el archivo, se debe cerrar: ?>
<br><a href=”salir.php”>Salir</a>
fclose($f);
</body></html>
Así se asegura que los cambios han sido guardados.
salir.php
<? session_destroy(); ?>
Procesamiento de formularios <html><body>Sesión terminada</body></html>
Esta es una de las funciones más importantes de PHP. Y es bastante simple. Al ingresar a index.php, se verá un formulario. Al llenarlo, una sesión será
Primero hay que tener un formulario en una página. Por ejemplo: creada en pag1.php (la página que procesa el formulario) y verá el nombre
<form action=”pag2.php” method=”POST”> //o GET ingresado en el formulario. Al seguir el link a pag2.php, deberá seguir viendo el
<input name=”campo1” ...>
<input name=”campo2” ...> nombre ingresado en el formulario, probando la creación de la sesión. Al seguir
... el link a salir.php, habrá destruido la sesión.
<input type=”submit”>
</form>
Para más información: http://www.php.net
Cuando el usuario pulse el botón “submit” (o “enviar” en español), la siguiente

También podría gustarte