You are on page 1of 6

24/4/2014 ENI Training - Libro online

http://www.eni-training.com/client_net/mediabook.aspx?idR=85117 1/6
Estructura bsica de una pgina PHP
1. Las etiquetas PHP
Como hemos visto anteriormente, el cdigo PHP se incluye en una pgina HTML dentro de las etiquetas
(tambin conocidas como por su trmino en ingls, "tags").
PHP acepta cuatro sintaxis para las etiquetas:
<?php ... ?>
<script language="php"> ... </script>
<? ... ?>
<% ... %>
La primera es la sintaxis habitual y la ms recomendada.
La segunda sintaxis, ms pesada, utiliza la etiqueta estndar script; puede ser til si su editor de
HTML interpreta de manera incorrecta el resto de sintaxis.
La sintaxis de la tercera slo es posible si est permitida en el archivo de configuracin de PHP
(php.ini) poniendo el parmetro short_open_tag en on. No es aconsejable utilizar esta sintaxis
si el cdigo debe desplegarse en un servidor cuya configuracin no puede modificar y que no es
compatible con esta sintaxis.
La cuarta sintaxis permite utilizar la etiqueta ASP, pero slo es factible si est permitido en el archivo de
configuracin de PHP estableciendo el parmetro asp_tags en on.
2. La funcin echo
La funcin echo es la funcin bsica de cualquier pgina PHP. Permite mostrar una o varias cadenas y,
por tanto, incluir texto en la pgina HTML que se enva al explorador.
Sintaxis
echo(cadena de texto)
echo cadena de texto[,...]
texto: texto que se mostrar.
La primera sintaxis nicamente acepta un parmetro, mientras que la segunda acepta varios.
Ejemplo
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Ejemplo de pgina PHP</title>
</head>
<body>
<p>
<?php
echo(Hola Olivier!);
24/4/2014 ENI Training - Libro online
http://www.eni-training.com/client_net/mediabook.aspx?idR=85117 2/6
?>
<br />
<?php
echo Hola ,Valeria,!;
?>
</p>
</body>
</html>
Resultado
Hola Olivier!
Hola Valeria!
No hay salto de lnea automtico en el resultado de la ejecucin del cdigo PHP. Si es necesario, se
debe insertar la etiqueta HTML <br /> que provoca un salto de lnea en la pgina HTML final (vase el
ejemplo anterior).
El texto parametrado en la funcin echo se puede escribir en varias lneas en la fuente, pero se
muestra slo en una en el resultado.
Ejemplo
<?php
echo Hola
Olivier, !;
?>
Resultado
Hola Olivier!
3. El separador de instrucciones
En PHP, todas las instrucciones deben terminar con un punto y coma.
Ejemplo
<?php
echo Hola ;
echo Olivier!;
?>
Resultado
Hola Olivier!
Si se omite el punto y coma, se genera un error.
La nica excepcin es la instruccin que precede a la etiqueta de cierre para el que se puede omitir el
punto y coma.
Es posible escribir varias instrucciones en la misma lnea siempre y cuando estn separadas por un
punto y coma. Sin embargo, a veces esta escritura dificulta la legibilidad del cdigo.
Ejemplo
24/4/2014 ENI Training - Libro online
http://www.eni-training.com/client_net/mediabook.aspx?idR=85117 3/6
<?php
echo Hola ; echo Olivier!;
?>
Resultado
Hola Olivier!
4. El comentario
PHP ofrece dos sintaxis:
// o # para insertar comentarios en una lnea "dedicada" o despus de una instruccin.
/* ... */ para insertar comentarios en varias lneas.
Ejemplo
<html>
<?php
// comentario en una sola lnea
# comentario en una sola lnea
/* comentario en
varias lneas */
echo Hola; // comentario hasta el final de la lnea
echo Olivier!; # comentario hasta el final de la lnea
?>
</html>
Resultado
Hola Olivier!
Los comentarios /*... */ no deben ser anidados.
5. Mezclar PHP y HTML
Existen muchos enfoques para mezclar PHP y HTML.
Sin embargo, estos enfoques se basan en dos principios simples:
La pgina puede contener una o varias inclusiones de cdigo PHP.
El cdigo PHP genera el "texto" que se integra en la pgina HTML que se enva al explorador.
Por lo tanto, cualquier "texto" comprensible por el navegador puede generarse por cdigo
PHP: texto simple, cdigo HTML, cdigo JavaScript...
Los siguientes ejemplos utilizan variables y funciones de PHP (recuperacin de la fecha y la hora). Estos
conceptos se discuten en mayor detalle en el captulo Variables, constantes, tipos y matrices.
Ejemplo de pgina que contiene cdigo PHP en varios lugares
<?php
// Declaracin de variables que se utilizarn ms adelante.
24/4/2014 ENI Training - Libro online
http://www.eni-training.com/client_net/mediabook.aspx?idR=85117 4/6
// Esta seccin de cdigo PHP no genera una salida en la
// pgina HTML (no hay ninguna llamada a echo).
$nombre = Olivier; // nombre del usuario
$titulo_pagina = Ediciones ENI presenta...; // ttulo de la pgina
$hoy = date("d/m/Y"); // fecha del da
$hora = date("H:i:s"); // hora
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>
<?php /* muestra el ttulo */ echo $titulo_pagina; ?>
</title>
</head>
<body>
<p> <?php
/* Muestra el nombre del usuario.
** Las etiquetas de negrita del nombre (<b>) y del salto de
** lnea (<br />) estn incluidas en la cadena enviada
** por echo.
*/
echo "Hola <b>$nombre</b>!<br />";
// Muestra la fecha y la hora.
echo "Hoy estamos a $hoy; son las $hora.";
?>
</p>
</body>
</html>
Resultado
Hola Olivier!
Hoy estamos a 24/06/2013; son las 08:17:48.
Fuente de la pgina en el navegador (los elementos generados por PHP estn en negrita)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>
Ediciones ENI presenta... </title>
</head>
<body>
<p>
Hola <b>Olivier</b>!<br />Hoy estamos a 24/06/2013;
son las 08:17:48.
</p>
</body>
</html>
Ejemplo de pgina generada en su totalidad por cdigo PHP (siguiendo el principio CGI)
<?php
// Declaracin de variables que se utilizarn ms adelante.
$nombre = Olivier; // nombre del usuario
$titulo_pagina = Ediciones ENI presenta...; // ttulo de la pgina
24/4/2014 ENI Training - Libro online
http://www.eni-training.com/client_net/mediabook.aspx?idR=85117 5/6
$hoy = date("d/m/Y"); // fecha del da
$hora = date("H:i:s"); // hora
// Generacin de las etiquetas de apertura del documento HTML.
echo <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" ,
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">;
echo <html xmlns="http://www.w3.org/1999/xhtml">;
echo <head>;
echo "<title>$titulo_pagina</title>";
echo </head>;
echo <body>;
echo <p>;
/* Muestra el nombre del usuario.
** Las etiquetas de negrita del nombre (<b>) y del salto de lnea
** (<br />) estn incluidas en la cadena enviada por echo.
*/
echo "Hola <b>$nombre</b>!<br />";
// Muestra la fecha y la hora.
echo "Hoy estamos a $hoy; son las $hora.";
echo </p>;
echo </body>;
echo </html>;
?>
Resultado
Hola Olivier!
Hoy estamos a 24/06/2013; son las 08:19:42.
Cdigo fuente de la pgina en el navegador (todo est en una lnea)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml"><head><title>
Ediciones ENI presenta...</title></head><body><p>Hola
<b>Olivier</b>!<br />Hoy estamos a 24/06/2013; son las
08:19:42.</p></body></html>
No existe ninguna regla para mezclar PHP y HTML. Un enfoque comnmente utilizado por los
desarrolladores es utilizar PHP nicamente para generar la parte verdaderamente dinmica de la
pgina; el resto se escribe directamente en HTML en el archivo. Esta tcnica hace que el cdigo sea
menos pesado y permite ver inmediatamente dnde se encuentra la lgica de la aplicacin.
El documento HTML que se enva al navegador debe ser vlido y, si es posible, debe ser conforme a los
estndares HTML o XHTML del W3C (World Wide Web Consortium). Si es necesario, utilice el servicio de
validacin del W3C (http://validator.w3.org/).
En este libro, los ejemplos respetan al mximo la recomendacin XHTML 1.0. Sin embargo, por razones
de espacio, los ejemplos no integran sistemticamente las declaraciones iniciales:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
...
6. Normas de denominacin
24/4/2014 ENI Training - Libro online
http://www.eni-training.com/client_net/mediabook.aspx?idR=85117 6/6
Cualquier entidad PHP con nombre (variable, constante, funcin...) debe tener un nombre que respete
las siguientes reglas:
empezar con una letra o guin bajo (_);
a continuacin, debe contener letras, nmeros o guiones bajos.
En esta definicin, una letra representa cualquier letra mayscula o minscula entre A y Z (a-z y A-Z) y
todos los caracteres ASCII entre 127 y 255. Por lo tanto, los caracteres acentuados estn permitidos,
pero no los caracteres del tipo #$%& que tienen un significado especial en el lenguaje PHP.