/**
* debugInfo PHP 5.6+ magic method
*
* @return array
*
*/
public function __debugInfo()
{
$info = parent::__debugInfo();
$info['count'] = $this->count();
if (count($this->data)) {
$info['items'] = array();
foreach ($this->data as $key => $value) {
if (is_object($value)) {
if (method_exists($value, 'path')) {
$value = '/' . ltrim($value->path(), '/');
} else {
if ($value instanceof WireData) {
$_value = $value;
$value = $value->name;
if (!$value) {
$value = $_value->id;
}
if (!$value) {
$value = $_value->className();
}
} else {
// keep $value as it is
}
}
}
$info['items'][$key] = $value;
}
}
if (count($this->extraData)) {
$info['extraData'] = $this->extraData;
}
if (count($this->itemsAdded)) {
$info['itemsAdded'] = $this->itemsAdded;
}
if (count($this->itemsRemoved)) {
$info['itemsRemoved'] = $this->itemsRemoved;
}
return $info;
}