<?php
include('initWebStore.php');

//Funcion 1: ==> Clase que contiene un método estático para añadir variables globales en tiempo de ejecución
$inicio = microtime(true);
for ($i = 0; $i < 10000; $i++){ 
	$cosa = BasicObject::get('prueba');
	BasicObject::set('prueba',  $i);
}
$fin = microtime(true);
echo(BasicObject::get('prueba') . '<br />');
echo("Primera prueba: " . (floatval($fin) - floatval($inicio) ) . "<br />");

//Función 2: ==> Carga del fichero "globals.php" cada iteración
$inicio = microtime(true);
for ($i = 0; $i < 10000; $i++){ 
	include('comunes/globals.php');
	$cosa = $prueba;
	$prueba = $i;
}
$fin = microtime(true);
include('comunes/globals.php');
echo($prueba . '<br />');
echo("Segunda prueba: " . (floatval($fin) - floatval($inicio) ) . "<br />");

//Función 3: ==> usamos la sentencia "global" cada vez que queramos disponer de una variable global
$inicio = microtime(true);
for ($i = 0; $i < 10000; $i++){ 
	global $prueba;
	$cosa = $prueba;
	$prueba = $i;
}
$fin = microtime(true);
include('comunes/globals.php');
echo($prueba . '<br />');
echo("Tercera prueba: " . (floatval($fin) - floatval($inicio) ) . "<br />");

//Función 4: ==> Tenemos un campo estático en una clase cualquiera
$inicio = microtime(true);
for ($i = 0; $i < 10000; $i++){ 
	$cosa = Albaran::$prueba;
	Albaran::$prueba = $i;
}
$fin = microtime(true);
echo(Albaran::$prueba . '<br />');
echo("Cuarta prueba: " . (floatval($fin) - floatval($inicio) ) . "<br />");

