Usando __debugInfo() en PHP 7

El método mágico __debugInfo() se activa cuando se llama a la función var_dump ().
Por defecto, la función var_dump() muestra todas las propiedades públicas, protegidas y privadas de un objeto. Sin embargo, si una clase de objeto implementa el método mágico __debugInfo(), podemos controlar la salida de la función var_dump (). El método no acepta ningún parámetro, y devuelve una matriz de valores-clave para mostrar, según la siguiente sinopsis:

array __debugInfo(void)

El siguiente ejemplo demuestra la implementación del método __debugInfo():

<?php
class User
{
public $name = 'John';
public $age = 34;
private $salary = 4200.00;
private $bonus = 680.00;
protected $identifier = 'ABC';
protected $logins = 67;
public function __debugInfo()
{
return [
'name' => $this->name,
'income' => $this->salary + $this->bonus
];
}
}
$user = new User();
var_dump($user);

Esto da como resultado la siguiente salida:

object(User)#1 (2) {
["name"]=> string(4) "John"
["income"]=> float(4880)
}

Si bien el método __debugInfo() es útil para adaptar nuestra propia salida var_dump(), esto podría no ser algo que necesariamente haremos en el desarrollo diario.

Comparte