miércoles, 1 de junio de 2011

PHP: protegiendo el código fuente

PHP es un lenguaje de programación para crear scripts, ámpliamente usado en el desarrollo de páginas Web y sistemas bajo ambiente Web. Los scripts de PHP pueden ser colocados en archivos independientes o incrustado en el HTML de una página.

¿Qué tiene de particular el PHP?
PHP es un lenguaje de scripts que se ejecuta en el servidor. Esto quiere decir que las órdenes que coloquemos van a ser interpretadas en el servidor, traducidas en resultados que luego serán enviados al cliente, sin que se vea nada del código PHP que dio origen a ese resultado.
Veamos un ejemplo práctico. En su servidor de prueba o el servidor en donde hospeda su página, creemos un archivo PHP con apenas un par de órdenes:
<?php
echo "Hola mundo!!<br \>";
echo "Hoy es ".date("d/m/Y", time());
?>
Estas dos líneas las guardaremos como "prueba.php" en la carpeta raíz del servidor.
Luego navegaremos esta página en http://localhost/prueba.php. El resultado deberá ser algo como esto:
 Y al ver el código de la página en el navegador obtendremos:
Como podemos ver, los elementos del código PHP no aparecen en el resultado. El intérprete de PHP que trabaja en el servidor, procesa el código PHP y ofrece el resultado como HTML, para luego enviar este resultado a la PC cliente. De esta manera, PHP permite proteger la integridad del código fuente de nuestra página Web.

PHP incrustado en HTML
Ahora probemos algo un poco mas complejo para demostrar como funciona PHP incrustado en medio de HTML. Crea un archivo con este código y guárdalo en la raíz de tu servidor como prueba2.php.
<html>
<head>
<title>Prueba de PHP incrustado en HTML</title>
<?php
$nombre = "Neeos";


function fecha_en_espanol()
{
$result = ""; // variable de resultado vacia
// matriz de valores para dias de la semana
$diaArr[0] = "Domingo";
$diaArr[1] = "Lunes";
$diaArr[2] = "Martes";
$diaArr[3] = "Miercoles";
$diaArr[4] = "Jueves";
$diaArr[5] = "Viernes";
$diaArr[6] = "Sabado";
// matriz de valores para meses del ano
$mesArr[0] = "";
$mesArr[1] = "ENERO";
$mesArr[2] = "FEBRERO";
$mesArr[3] = "MARZO";
$mesArr[4] = "ABRIL";
$mesArr[5] = "MAYO";
$mesArr[6] = "JUNIO";
$mesArr[7] = "JULIO";
$mesArr[8] = "AGOSTO";
$mesArr[9] = "SEPTIEMBRE";
$mesArr[10] = "OCTUBRE";
$mesArr[11] = "NOVIEMBRE";
$mesArr[12] = "DICIEMBRE";
$result = $diaArr[(int)date('w')]." ".date('d')." de ".$mesArr[(int)date('m')]." de ".date('Y');
return $result;
}
?>
</head>
<body>
<p>Hola mundo!!<br />
Hoy es <?php echo fecha_en_espanol(); ?><br />
Les saluda cordialmente <?php echo $nombre; ?>
</p>
</body>
</html>

Quiero resaltar varias cosas en este código:

  1. El archivo lo hemos nombrado ".php" a pesar de contener código html. Esto se hace para que el intérprete PHP en el servidor "traduzca" la página a HTML antes de enviarla al cliente.
  2. El código PHP se puede incluir en la zona <head> de la página. En este área es frecuente encontrar funciones, declaraciones de variables o constantes y sus valores, conexiones al servidor  y capturas de datos de base de datos, etc.
  3. También se puede colocar código PHP en medio del diseño de la página, para hacer llamadas a funciones o valores declarados o capturados previamente.
  4. El código PHP se debe colocar entre las etiquetas "<?php" y "?>". Notemos también que cada línea debe terminar en ";".
  5. Para obtener el resultado concatenado, hemos usado la función 'date' propia de PHP, pasándole el argumento que conviene en cada caso. Vea este artículo del manual oficial del PHP.
  6. Note que el caracter de concatenacion en PHP es el punto '.'
El resultado en el navegador (cliente) será el siguiente:
Y el código fuente de este página no mostrará nada del código PHP original:
Les animo a que hagan sus propias pruebas y vean el potencial de este excelente lenguaje. Esté alerta a las próximas publicaciones, ya que seguiremos usando constantemente PHP para hacer muchas tareas comunes en el desarrollo de una página Web.

No hay comentarios:

Publicar un comentario