Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/10/2010, 02:32
Avatar de neodani
neodani
 
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 8 meses
Puntos: 20
Qué es más eficiente usar if else o un switch?

Buenas,

En mi web modular uso un fichero llamado metatags.php el cual según la variable de la página cargo un titulo o una descripción determinada.

Código PHP:
Ver original
  1. <?php  
  2. /*
  3.  * Dependiendo de la página cargará su propio titulo y metas
  4.  */
  5. if( $_GET [ 'pagina' ]== "home" ){ ?>
  6. <title>Inicio | Web</title>
  7. <meta name="keywords" content="palabras clave relacionadas con el modulo" />
  8. <meta name="description" content="descripción del modulo" />
  9. <?php  }
  10. else if( $_GET [ 'pagina' ]== "faq" ){ ?>
  11. <title>Preguntas Frecuentes (F.A.Q) | Ayuda | Web</title>
  12. <meta name="keywords" content="palabras clave relacionadas con el modulo" />
  13. <meta name="description" content="descripción del modulo" />
  14. <?php  }
  15. else if( $_GET [ 'pagina' ]== "registro" ){ ?>
  16. <title>Crear cuenta ME | Web</title>
  17. <meta name="keywords" content="palabras clave relacionadas con el modulo" />
  18. <meta name="description" content="descripción del modulo" />
  19. <?php  }
  20. else if( $_GET [ 'pagina' ]== "soporte" ){ ?>
  21. <title>Soporte ME | Ayuda | Web</title>
  22. <meta name="keywords" content="palabras clave relacionadas con el modulo" />
  23. <meta name="description" content="descripción del modulo" />
  24. <?php }else { ?>
  25. <title>La página no existe</title>
  26. <meta name="keywords" content="palabras clave relacionadas con la web" />
  27. <meta name="description" content="descripción de la web en general" />
  28. <?php  } ?>
  29.  
  30. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  31. <link rel="shortcut icon" href="/imagenes/favicon.ico"/>
  32. ?>

El problema es si la página va creciendo y en lugar de tener 50 if else, tuviese 200 o 300 o más.

¿Qué método creéis que sería el más optimo?

Muchas gracias de antemano