$inspector = new Inspector($instance);
$methodMeta = $inspector->getMethodMeta($action);
if (!empty($methodMeta["@protected"]) || !empty($methodMeta["@private"]))
{
throw new Exception\Action("Action {$action} not found");
}
$hooks = function($meta, $type) use ($inspector, $instance)
{
if (isset($meta[$type]))
{
$run = array();
foreach ($meta[$type] as $method)
{
$hookMeta = $inspector->getMethodMeta($method);
if (in_array($method, $run) && !empty($hookMeta["@once"]))
{
continue;
}
$instance->$method();
$run[] = $method;
}
}
};
// Events::fire("framework.router.beforehooks.before", array($action, $parameters));
$hooks($methodMeta, "@before");
Что означает use после function?
И что это за конструкция такая "$hooks($methodMeta, "@before")"?