gafeman viciao2k3 logo viciao2k3
 
¿que estoy haciendo?   follow me
@tcul http://tentacul.us/track/1745/
 chica del dia  —  la novia de tu mejor amigo
 
Suscribete →  
433  fans y una planta carnivora
Enterate de los conciertos en Madrid, Barcelona, Cordoba, ver más...
 
han pasado por aqui Homer0FranciscojoaoAuroEmperFireJose DavidRayGoNMOPE
 
Actualizado hace 23 horas
Noticias del dia
17

Metodologia para optimizar codigo

Tag: PHP    Por: ewiggin @ 2 Agosto, 2007    Lecturas: 730   

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.

4

¿Sabes lo que compras?

Tag: Curiosidades    Por: ewiggin @ 31 Julio, 2007    Lecturas: 525   

mediamarktHace un par de días recibí un catalogo de Mediamarkt y en la portada aparecía una oferta de Pantalla con tecnología TrueBrite.

Me llamó la atención la palabra "TrueBrite", pensaba que era una innovadora tecnología, pero en google descubrí que tan solo es una tecnología para evitar los reflejos de luz en las pantallas LCD.

No es que sea un concepto nuevo, lo que pasa es cada fabricante le pone un nombre distinto, en este caso es una marca registrada por Toshiba.

En wikipedia podéis ver una lista de los diferentes nombres que le ponen a esta tecnología y sus compañías.

Y eso me ha hecho pensar, que si es licito que las grandes distribuidoras engañen de esta manera a la gente. Porque de esta forma se pueden renovar productos aumentando su precio, solo por el nombre de una tecnología camaleón, o desconocida.

¿Creéis que se debería crear una ley en pro de los consumidores para que no se permitiera esta desinformación?

9

Funciones PHP útiles para trabajar con strings

Tag: PHP    Por: gafeman @ 31 Julio, 2007    Lecturas: 1104   

haz clic en el nombre de las funciones para ver la documentación y ejemplos:

  • strtoupper
    convierte una cadena en mayúsculas
  • strtolower
    es la función opuesta a la anterior, convierte una cadena en minúsculas
  • eregi_replace
    reemplaza expresiones regularse sin diferenciar mayúsculas y minúsculas
  • substr_count
    cuenta el número de repeticiones de una subcadena en una cadena
  • strlen
    cuenta el número de caracteres de una cadena
  • nl2br
    convierte un salto de linea (\n) en código html <br />
  • substr
    permite obtener una parte de una cadena
17

logotipo, ¿ simple + humilde = confianza ?

Tag: Diseño    Por: gafeman @ 30 Julio, 2007    Lecturas: 654   

lo siento, si últimamente estoy muy vago con el blog, tiene su explicación...

como dije anteriormente, soy bastante cabezota (aclaro, no es sinónimo de tener la cabeza grande)
me explico, cuando me centro en algo, no me gusta mirar hacia otra dirección

actualmente, estoy muy liado con una web que me comprometí hacer a una persona.
desde el principio hasta ahora, hemos discutido bastante sobre el logotipo

no soy especialista en diseño gráfico pero tengo un punto de vista

pienso, que para una web seria (con animo de lucro), lo mejor es que el logotipo sea simple y elegante
en cambio, para el que me ha pedido la web, prefiere que sea simple y humilde

de ahí viene la pregunta, ¿crees que un logotipo simple y humilde puede dar más confianza?

Ejemplo:

Muestra 1

cuba renting logos

Muestra 2

cuba renting logos

Yo personalmente, prefiero la segunda opción, no es por que lo haya creado yo jeje
como me toca diseñar la interfaz, ya me dirás en que lugar de la pagina pongo el primer logotipo

1

php, mostrar errores E_NOTICE

Tag: PHP    Por: gafeman @ 30 Julio, 2007    Lecturas: 1113   

Seguramente la configuración del fichero php.ini de tu servidor oculte los errores E_NOTICE

Según la web de php.net...

En PHP 4 y PHP 5, el valor predeterminado es E_ALL & ~E_NOTICE. Este valor no muestra errores de nivel E_NOTICE.

Al habilitar E_NOTICE durante el desarrollo de software tiene algunos beneficios. Para propósitos de depuración: los mensajes NOTICE le advertirán sobre posibles fallos en su código.

¿Que son los errores E_NOTICE?

Avisos detectados en tiempo de ejecución al utilizar una variable no inicializada

Incorrecto:

  1. define(TXT_LANG,'Idioma');
  2. $_GET[url]

Los casos anteriores aunque funcionen, producen un error E_NOTICE, ya que php interpreta TXT_LANG y url como constantes no definidas

Correcto:

  1. define('TXT_LANG','Idioma');
  2. $_GET['url']

¿Como mostrar los E_NOTICE?

Para mostrar todos los errores, puedes hacerlo de 2 maneras:

  1. si tienes permisos para editar el fichero php.ini, abrelo, busca error_reporting y asignarle E_ALL, quedando asi:
    error_reporting = E_ALL
  2. si tu servidor no te permite editar el php.ini, puedes introducir al principio del código y después de <?php:
    error_reporting(E_ALL);

Post dedicado a:

Eduard Llach

background by eboy