Modulacion con switch [PHP]
Ultimamente he trabajado mucho bajo Joomla!, como antes habia mencionado en Twitter, con un excelente maestro, Gustavo Aragon
Bien algo que he visto bajo el CMS, es la forma en como modula los task o tareas que hara cada componente y/o modulo. Mediante el uso de switch, podemos hacer modular parte o toda nuestra web. En este post les enseñare con ejemplos basicos como hacerlo.
Para comenzar tenemos la descripcion oficial de switch en php.net.
La sentencia switch es similar a una serie de sentencias IF en la misma expresión. En muchas ocasiones, se quiere comparar la misma variable (o expresión) con nuchos valores diferentes, y ejecutar una parte de código distinta dependiendo de a qué valor es igual. Para ello sirve la sentencia switch.
Bien, comencemos con lo que nos interesa... la modulacion!!
En este caso dependiendo del valor que obtengamos en nuestra variable $seccion, cargaremos un archivo diferente.
<?php
switch($seccion){
case "noticias":
include 'archivo_de_noticias.php';
break;
case "galeria":
include 'archivo_de_galeria.php';
break;
case "contacto":
include 'archivo_de_contacto.php';
break;
default:
include 'archivo_por_defecto.php';
}
?>
Como podemos ver por cada valor de $seccion obtendremos un archivo diferente, cuando $seccion no coincide con ninguno, pasaria a la accion de default, la cual como su nombre lo indica sera la accion por defecto.
Switch es muy parecido a usar las condiciones IF y ELSE, con la diferencia que es mas practico trabajar una variable que podria tener muchos valores diferentes. Ademas que la edicion futura de nuestro codigo seria mucho mas comoda.
Ahora bien, ¿como pruebo el script?, dependiendo de lo que estemos trabajando es como podriamos obtener el valor de $seccion, via $_POST, $_GET, etc...
En este caso digamos que pasaremos el valor via $_GET y que nuestro archivo que contiene la sentencia switch se llama index.php.
La manera de que $seccion obtendria sus valores seria: index.php?seccion=noticias
Al verlo en el navegador, nos mostraria el contenido de archivo_de_noticias.php.
Espero les haya servidor este pequeño articulo del uso y posibles aplicaciones de swith.
Saludos.