gafeman viciao2k3 logo viciao2k3
 
¿que estoy haciendo?
estoy en la ultima fila a la izquierda, donde estais vosotros ?
 chica del dia  —  la novia de tu mejor amigo
 
Suscribete →  
487  fans y una planta carnivora
 
17

Metodologia para optimizar codigo

Publicado en PHP el dia 2 Agosto, 2007  —  953 lecturas

Buenas, como veo que os gustan los códigos de mi compadre, yo voy aportar algo que llevo usando durante algún tiempo cuando quiero generalizar y agilizar el código de mis encargos web.

Quizá algunos no estén de acuerdo con esta metodología, pero es lo que es, una metodología. Como las lentejas, o las tomas o las dejas.

Usado para optimizar secciones
Este código usa las variables $_GET para llamar al fichero *.php para incluirlos con el include.

PHP:
  1. //Carpeta donde estan las secciones!
  2. $path = "secciones";
  3. $subsec_path = $path."/sub"//carpetas de subsecciones
  4. if(isset($_GET['seccion']) && isset($_GET['subseccion']))
  5. {
  6. @include $subsec_path."/".$_GET['subseccion'].".php";
  7. }
  8. else if(isset($_GET['seccion']))
  9. {
  10. if(file_exist($path."/".$_GET['seccion'].".php"))
  11. {
  12. @include($path."/".$_GET['seccion'].".php");
  13.  
  14. }else @include($path."/error/errorseccion.php");
  15.  
  16. }else @include($path."benvenida.php");

Codigo Rectificado ( Necesidad de mejora expuesta por Alex )

PHP:
  1. //Carpeta donde estan las secciones!
  2. $path = "secciones";
  3. $subsec_path = $path."/sub"; //carpetas de subsecciones
  4.  
  5. if(isset($_GET['seccion']) && isset($_GET['subseccion']))
  6. {
  7. if(eregi('\.\.\/',$_GET['seccion']) || eregi('\.\.\/',$_GET['subseccion'])) die ('No permitido');
  8. else
  9. {
  10. @include $subsec_path."/".$_GET['subseccion'].".php";
  11. }
  12. }
  13. else if(isset($_GET['seccion']))
  14. {
  15. if(eregi('\.\.\/',$_GET['seccion'])) die ('No permitido');
  16. else
  17. {
  18. if(file_exist($path."/".$_GET['seccion'].".php"))
  19. {
  20. include($path."/".$_GET['seccion'].".php");
  21. }else include($path."/error/errorseccion.php");
  22. }
  23. }else include($path."benvenida.php");

-- No pongo una comprobación de las secciones permitidas, porque solo estan permitidas las que hay en la carpeta, logico.

Para hacer que funcione solo tendríamos que usar enlaces como:
http://www.vicao2k3.net/index.php?seccion=galeria
http://www.vicao2k3.net/index.php?seccion=links
http://www.vicao2k3.net/index.php?seccion=galeria&subseccion=favoritos

Así de sencillo. Lo único que obliga tener por cada sección un fichero diferente.
Pero lo tienes todo dividido así no tienes que buscar el código especifico en el index.php, solo dirigirse al fichero con nombre de la sección y listo. Además, hace que el servidor tenga que enviar código menos pesado que si lo hiciéramos todo con condicionales.

Yo lo he usado profesionalmente en 3 sitios webs, con un añadido de SQL, y funcionan perfectamente. Y en el mantenimiento, personalmente me han ido bastante bien. Este código siempre es mejorable.

He aquí un consejillo.

background by eboy