Daniel Segovia

Blog personal

Archive for the ‘7.2 Embeber código’ Category

Separando la lógica de la vista

Hacer un comentario

Vamos a embeber código de la mejor manera posible, separando 100% la lógica que le queremos dar al sistema de la vista que lo va a mostrar.
La manera es con include o require, básicamente programaremos nuestra lógica en un archivo y este será incluido por nuestra vista.

<?php
//logica.php
if (date('H') >= 14 && date('H') <= 19) {
    $mensaje = 'Buenos tardes';
} elseif (date('H') >= 6 && date('H') <= 13) {
    $mensaje = 'Buenos d&iacute;as';
}else {
    $mensaje = 'Buenos noches';
}
?>
<?php
//index.php
include "logica.php";
?>
<html>
<head>
    <title>Saludo</title>
</head>
<body>
<?= $mensaje; ?>
<?php
//Usar <?php echo $mansaje; ?> es lo mismo que usar <?=$mensaje;?>
?>
</body>
</html>

Veamos el resultado.

<html>
<head>
    <title>Saludo</title>
</head>
<body>
Buenos tardes</body>
</html>

Written by Daniel Segovia

enero 26th, 2012 at 3:57 pm

Embebiendo código PHP y organizándolo

Hacer un comentario

En el ejemplo anterior podemos observar como embebimos código PHP dentro de una estructura de HTML.
Aquí trabajaremos en un concepto similar pero la diferencia será el orden que le demos a nuestro bloques de código.
Por lo general, lo más recomendable es separar nuestro código PHP y HTML lo más posible, esta separación puede darse en archivos diferentes trabajando con includes o bien separaremos nuestro código en bloques, por un lado la lógica del PHP y por el otro el HTML. Esto hará mucho más legible el sistema en si, tanto como para futuras modificaciones como también para que cuando algún colega desarrollador necesite añadir, modificar o eliminar parte nuestro desarrollo.

<?php
if (date('H') >= 14 && date('H') <= 19) {
    $mensaje = 'Buenos tardes';
} elseif (date('H') >= 6 && date('H') <= 13) {
    $mensaje = 'Buenos d&iacute;as';
}else {
    $mensaje = 'Buenos noches';
}
?>
<html>
<head>
    <title>Saludo</title>
</head>
<body>
<?php echo $mensaje; ?>
</body>
</html>

El resultado es el mismo que antes.

<html>
<head>
    <title>Saludo</title>
</head>
<body>
Buenos tardes</body>
</html>

Written by Daniel Segovia

enero 26th, 2012 at 1:35 pm

Embeber código PHP

Un comentario

Naturalmente PHP no puede ser embebido en archivos HTML ya que éstos últimos, en configuraciones predeterminadas, no serán procesados por el interprete de PHP.
Sin embargo, si estamos desarrollando una aplicación web necesitaremos tener código HTML y PHP en un mismo archivo.
Los archivos con extensión .php serán procesados por el interprete, pero este interprete solamente procesará el contenido delimitado dos tags que da comienzo al código php y ?> que finaliza el mismo, lo que este por fuera de éstos tags no será procesado, por ende puede ser tranquilamente código HTML

Un ejemplo

<html>
<head>
    <title>Saludo</title>
</head>
<body>
<?php
if (date('H') >= 14 && date('H') <= 19) {
    echo 'Buenos tardes';
} elseif (date('H') >= 6 && date('H') <= 13) {
    echo 'Buenos d&iacute;as';
}else {
    echo 'Buenos noches';
}
?>
</body>
</html>

Aquí viene la parte importante, todo lo que es procesado en php y enviado a la salida, en este caso con echo, se transforma en simple texto plano, para este caso el resultado del script será el siguiente.

<html>
<head>
    <title>Saludo</title>
</head>
<body>
Buenos tardes</body>
</html>

Como puede observarse en el resultado se imprime el “Buenas tardes”, esto se produce por que la hora en la que se ejecuto el script fue cerca de las 15, por lo tanto en condicional entro en las condiciones de mayor e igual a 14 y menor e igual a 19.
Al fin y al cabo lo importante no es por que parte de if sigue el flujo del sistema, en este punto lo más importante de comprender es que la salida es texto plano, que luego será nuestra salida será interpretada por el navegador con el que estemos visualizando la página web.

Written by Daniel Segovia

enero 26th, 2012 at 1:12 pm

Posted in 7.2 Embeber código

Tagged with , , ,