Ver Mensaje Individual
  #2 (permalink)  
Antiguo 18/03/2006, 16:04
Avatar de ZydRick
ZydRick
 
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 19 años, 2 meses
Puntos: 4
Bueno solo decirte ke el codigo PHP siempre esta embebido dentro de codigo HTML. Para ilustrar este punto hemos de recordar aspectos básicos en el aprendizaje de PHP. PHP es un lenguaje server-side (al menos en su aplicación para la programación web). Nuestro código PHP es digerido por el servidor, interpretado y se devuelve al cliente como HTML puro que el navegador es capaz de entender.

Es muy común ver código de esta forma:

Código PHP:
<?
if (isset($_POST['enviar'])) {
    echo 
"var1: ".$_POST['var1']."<br />";
    echo 
"var2: ".$_POST['var2']."<br />";
}
else {
    echo 
"<form name=\"formulario\" method=\"POST\" action=\"".$_SERVER['PHP_SELF']."\">
    <input type=\"text\" name=\"var1\">
    <input type=\"text\" name=\"var2\">
    <input type=\"submit\" name=\"enviar\" value=\"Enviar\">
    </form>"
;
}
?>
Cada línea de este script es interpretada por PHP, los echos arrojan el resultado al navegador, si se ha entrado en el else.

Sin embargo, por la propia naturaleza de la web, el código HTML no necesita ser parseado de ninguna manera, como acabamos de decir PHP lo único que hace al final es entregar HTML al cliente. ¿Para qué parsear pues echos que solo contienen HTML? Con el concepto básico de server-side también aprendimos que PHP es un lenguaje embebido en el código HTML y que los tags <? ?> sirven para abrir y cerrar el "modo" PHP.

Apliquemos pues, lo que aprendimos:

Código PHP:
<?
if (isset($_POST['enviar'])) {
    echo 
"var1: ".$_POST['var1']."<br />";
    echo 
"var2: ".$_POST['var2']."<br />";
}
else {  
?>

<form name="formulario" method="POST" action="<?=$_SERVER['PHP_SELF']?>">
  <input type="text" name="var1">
  <input type="text" name="var2">
  <input type="submit" name="enviar" value="Enviar">
</form>

<? ?>
Este código es mucho más claro, limpio y rápido, ahorramos al preprocesador un montón de líneas a interpretar, que de cualquier modo iban a ser código HTML.

echo, como cualquier otra operación de entrada/salida que sucede en nuestro ordenador es lento por naturaleza. El else anterior se respeta de cualquier forma, y lo que se muestra es el código contenido en él, tanto en modo PHP como no. Esta práctica aumenta la legibilidad y disminuye la carga del procesador: el parseador simplemente "ignora" las líneas y las arroja tal cual.

De cada cuál depende si es oportuno o no abrir y cerrar constantemente los tags para cualquier código HTML. A lo mejor no merece la pena hacerlo para una sola línea:

Código PHP:
<?
  
echo "<a href=\"pagina.php\">".$link."</a>";
?>
Espero que con esto tengas una idea de como se manejan PHP y HTML

Saludos