Foros del Web » Programando para Internet » PHP »

Escojer 1 opcion entre 5

Estas en el tema de Escojer 1 opcion entre 5 en el foro de PHP en Foros del Web. Estos 5 trozos de código són equivalentes. Qual es el más correcto? y pq? Código PHP: 1.       unset( $imgsrc );          $imgsrc [] =  $_SERVER [ ...
  #1 (permalink)  
Antiguo 17/01/2004, 03:31
 
Fecha de Ingreso: enero-2004
Mensajes: 235
Antigüedad: 13 años, 11 meses
Puntos: 0
Escojer 1 opcion entre 5

Estos 5 trozos de código són equivalentes. Qual es el más correcto? y pq?
Código PHP:
1.      unset($imgsrc);
        
$imgsrc[] = $_SERVER['PHP_SELF'].'?';
        
$imgsrc[] = 'm=1';
        
$imgsrc[] = 'src='.$path_fichero;
        
$imgsrc[] = 'w='.$newsize[0];
        
$imgsrc[] = 'h='.$newsize[1];
        
$imgsrc   implode('&'$imgsrc);

2.      $imgsrc "$_SERVER[PHP_SELF]?&m=1&src=$path_fichero&w=$newsize[0]&h=$newsize[1]";
        
3.      $imgsrc $_SERVER['PHP_SELF'].'?&m=1&src='.$path_fichero.'&w='.$newsize[0].'&h='.$newsize[1]; 

4.      $imgsrc  $_SERVER['PHP_SELF'].'?';
        
$imgsrc .= '&m=1';
        
$imgsrc .= '&src='.$path_fichero;
        
$imgsrc .= '&w='.$newsize[0];
        
$imgsrc .= '&h='.$newsize[1]; 
        
5.      $imgsrc  "$_SERVER[PHP_SELF]?";
        
$imgsrc .= "&m=1";
        
$imgsrc .= "&src=$path_fichero";
        
$imgsrc .= "&w=$newsize[0]";
        
$imgsrc .= "&h=$newsize[1]"
Un saludo
  #2 (permalink)  
Antiguo 17/01/2004, 06:44
Avatar de epplestun  
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 16 años, 1 mes
Puntos: 5
yo me quedaria con el 3
__________________
Usuario registrado de Linux #288725
  #3 (permalink)  
Antiguo 17/01/2004, 13:26
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
(esto es una preguna de examen ? xDD)

Bueno ... también me quedo con el 3º ...

El 1º usa arrays .. lo cual la creación de dicho array ya está consumiendo recursos (memoria) del servidor .. más que concatenar esas variables como ya lo hacen tus alternativas 3,4,5. Ademas usa una función (implode()) para "concatenar" sus elementos y conformar el string que ha de generar (=más proceso y consumo recursos ..)

La alternativa 5 (y 2) al usar "comillas" en la cadena a evaluar de la variable .. PHP intetará interpretar todo, tanto &src= como tus $variables ... Si usas comillas 'simples' .. php (su "parser" del interprete) no entrará ahí a ver si hay variables e interpretarlas dandole (asignando) su valor .. Por ende .. aunque la diferencia de proceso no es extremadamente significativamente .. es algo mas "lenta" de proceso que su equivalente de la opción 4.

La opción 3 y 4 son similares .. pero, ("supongo") que evaluar una sóla línea de código no será lo mismo que buscar "líenas" de código para el interprete.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 17/01/2004 a las 13:29
  #4 (permalink)  
Antiguo 17/01/2004, 15:13
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

3,2,4-5, nunca la 1.

A la 2 ademas usaria {} para los indices tipo texto (manias mias):
Código PHP:
$imgsrc "{$_SERVER['PHP_SELF']}?&m=1&src=$path_fichero&w=$newsize[0]&h=$newsize[1]"
Y para este caso tampoco usaria sintaxis HEREDOC ni alguna funcion tipo printf().

Saludos.

PD: Digo nunca la uno por 2 razones: usas una funcion (consume mas); y porque cambias el tipo de la variables $imgsrc sin motivo (de array a cadena).

PD2: Pero al final es cuestion de estilo. Usa el que te sea mas comodo y facil de mantener.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 17/01/2004, 15:43
 
Fecha de Ingreso: enero-2004
Mensajes: 235
Antigüedad: 13 años, 11 meses
Puntos: 0
Pues me habeis jodido pq uso siempre la num.1.
Tambien tengo que decir en contra de la opcion 1 es que al final los scripts te ocupan un monton de linias, pero a favor es que es mas fácil de leer.

Josemi, cuando tengas tiempo mirate mi mensaje privado. Gracias.
  #6 (permalink)  
Antiguo 17/01/2004, 17:02
 
Fecha de Ingreso: enero-2004
Mensajes: 235
Antigüedad: 13 años, 11 meses
Puntos: 0
He hecho una comparacion de tiempo y estos han sido los resultados por opciones:

Opcion num..1 = 294
Opcion num..2 = 68
Opcion num..3 = 42
Opcion num..4 = 51
Opcion num..5 = 64

Valores multiplicados por 1.000.000

Conclusiones:
La opcion más rápida codificado en UNA LINIA es la 3.
I la opcion más rapida en codificación en VARIAS LINIAS es la 4.
La opcion 4 es un 16% mas lenta que la opcion 3.
A PHP le cuesta mas parsear una linia con X variables que X linias con una variable.
El uso de implode desaconsejado segun casos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:37.