Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/08/2012, 07:04
Avatar de cluster28
cluster28
 
Fecha de Ingreso: enero-2008
Ubicación: Donostia - San Sebastián
Mensajes: 756
Antigüedad: 16 años, 4 meses
Puntos: 32
Clase estática Vs. include

Estoy barajando en hacer un menu de dos formas:

Con una clase estática
Con un include

Para ello me he decidido a hacer pruebas de velocidad y sorprendentemente es más rápido con la clase estática.

¿Alguién sabe por qué?

Fichero newfile.php

Código PHP:
<ul>
    <
li><a>a</a></li>
    <
li><a>b</a></li>
    <
li><a>c</a></li>
    <
li><a>d</a></li>
    <
li><a>e</a></li>
    <
li><a>f</a></li>
</
ul>
<
ul>
    <
li><a>a</a></li>
    <
li><a>b</a></li>
    <
li><a>c</a></li>
</
ul>
<
ul>
    <
li><a>a</a></li>
    <
li><a>b</a></li>
    <
li><a>c</a></li>
    <
li><a>d</a></li>
</
ul>
<
ul>
    <
li><a>a</a></li>
    <
li><a>b</a></li>
    <
li><a>c</a></li>
    <
li><a>d</a></li>
</
ul>
<
ul>
    <
li><a>a</a></li>
    <
li><a>b</a></li>
</
ul
Fichero pruebas.php

Código PHP:
class Menu
{
    public static 
$ArrayMenu=    array(1=>array(    'nombre'=>'1',
                                                
'carpeta'=>'1',
                                                
'sub'=>array('a','b','c','d','e','f')),
                                      
2=>array(    'nombre'=>'2',
                                                
'carpeta'=>'2',
                                                
'sub'=>array('a','b','c')),
                                      
3=>array(    'nombre'=>'3',
                                                
'carpeta'=>'3',
                                                
'sub'=>array('a','b','c','d')),
                                      
4=>array(    'nombre'=>'4',
                                                
'carpeta'=>'4',
                                                
'sub'=>array('a','b','c','d')),
                                      
5=>array(    'nombre'=>'5',
                                                
'carpeta'=>'5',
                                                
'sub'=>array('a','b'))
                                      );

    
    
    public static function 
MostrarMenu()
    {
        foreach(
self::$ArrayMenu as $numero => $array){
            ${
$numero}="<ul>";
            foreach (
$array["sub"] as $letra){
            ${
$numero}.= "<li><a>$letra</a></li>";
            }
            
$total.=${$numero}."</ul>";
        }
        return 
$total;
    } 
}

$_1microtime(true);
echo 
Menu::MostrarMenu();
echo 
microtime(true)-$_1."<br>"// Resultado 0.00015616416931152


$_2=microtime(true);
include 
'newfile.php';
echo 
microtime(true)-$_2// Resultado 0.00096416473388672