private function checkCallable()
{
if (is_null($this->callable) || !is_callable($this->callable)) {
$this->callable = function ($data) {
$name = $this->name;
if (is_array($data) && array_key_exists($name, $data)) {
return $data[$name];
}
if (is_object($data) && property_exists($data, $name)) {
return $data->{$name};
}
if (is_object($data) && method_exists($data, $name)) {
return $data->{$name}();
}
return "";
};
}
}