vardump($var,$conf)
Valores del array de configuración $conf:
Nota: Si $conf = true, equivale a usar hidetype = true para mantener código "legacy".
hidetype (bool) = true para esconder el tipo de variable (no funciona con arrays ni objetos).
hident (bool) = true para mostrar el html en lugar de sus entidades.
type (string) = Muestra como "tipo" el texto suministrado, ayuda a etiquetar la salida de cada depurador.
raw (bool) = true para mostrar sin estilos, aunque prism esté presente.
user (bool) = true para que sea visible para todos los usuarios (por defecto sólo lo ven usuarios del grupo 1).
(array) = Uno o más IDs de grupo o usuario que pueden verlo: 'user'=>['groups'=> [2,3], 'users'=> [2,3]].
Vardump es una versión alternativa de la función con el mismo nombre de PHP usada para depuración de errores y visualización de valores.
Debido a que es una función usada principalmente para depuración de código, por defecto sólo se muestra a los usuarios del grupo 1 (Sysops).
Esta función utiliza, si está disponible, la clase de Javascript "Prism" para mostrar un maquetado con resaltes de programación. La clase Prism puede obtenerse en esta página:
http://prismjs.com/
Esta función es capaz de evaluar los distintos tipos de valores que se evalúan como vacíos por empty, devolviendo un mensaje "EMPTY::" seguido del tipo de variable, diferenciando un string vacío, un cero como string, un cero como entero, un cero como double, false, null, strings que sólo incluyen caracteres invisibles (espacio, tabulador y salto de línea), arrays vacíos y objetos vacíos. Los arrays y objetos multidimensionales también son detectados cuando están vacíos, pero en este caso muestra su estructura, ya que puede tener importancia para la depuración.
Cuando la variable, array u objeto contienen datos, estos son mostrados, con su estructura si se trata de arrays u objetos, a excepción de los objetos GuzzleHttp\Psr7\Stream, en los que se avisa del tipo, pero no se muestran los datos binarios. Tampoco se muestran en el caso de que la variable contenga un recurso, como una imagen.
Este es un ejemplo de uso con variables, arrays y objetos vacíos:
$a = "0";
$b = 0;
$c = 0.0000000;
$d = " ";
$e = "";
$f = false;
$g = null;
$h = [];
$i = (object)[];
$j = [[[""," "]]];
$k = (object)[(object)[(object)[""," "]]];
$l = true;
$m = fopen("test.txt","r");
$wv->vardump($a);
$wv->vardump($b);
$wv->vardump($c);
$wv->vardump($d);
$wv->vardump($e);
$wv->vardump($f);
$wv->vardump($g);
$wv->vardump($h);
$wv->vardump($i);
$wv->vardump($j);
$wv->vardump($k);
$wv->vardump($l);
$wv->vardump($m);
Resutados:
EMPTY::Var(string)
"0"
EMPTY::Var(integer)
0
EMPTY::Var(double)
0.0
EMPTY::Var="" (string) - Blank chars detected!
EMPTY::Var="" (string)
EMPTY::Var(boolean)
FALSE
EMPTY::Var
NULL
EMPTY::Array
EMPTY::Object
EMPTY::Array (Multidimensional)
SHOWING::Array
(
[0] => Array
(
[0] => Array
(
[0] =>
[1] =>
)
)
)
EMPTY::Object (Multidimensional)
SHOWING::stdClass Object
(
[0] => stdClass Object
(
[0] => stdClass Object
(
[0] =>
[1] =>
)
)
)
RESULT::Var(boolean)
TRUE
RESULT::Resource(Can't be showed!)