public static function finder($name, $finder = null)
{
$self = static::_object();
if ($finder === null) {
return isset($self->_finders[$name]) ? $self->_finders[$name] : null;
}
if (is_array($finder)) {
$finder = function ($self, $params, $chain) use($finder) {
$params['options'] = Set::merge($params['options'], $finder);
return $chain->next($self, $params, $chain);
};
}
$self->_finders[$name] = $finder;
}