/** * @param _Service $service * @param _Scope $plugins * @param string $name * @param array $args * @return callable|null|object */ function scope(_Service $service, _Scope $plugins, $name, array $args = []) { array_unshift($args, $plugins); $plugin = $service->plugin($name, $args); $plugins->scope($plugin); return $plugin; }
/** * @param _Service $plugins * @param array $config * @return callable|null|object */ function register(_Service $plugins, array $config) { $service = $plugins->plugin($config[Arg::SERVICE]); if (isset($service[$config[Arg::NAME]])) { return $service[$config[Arg::NAME]]; } return isset($config[Arg::PLUGIN]) ? $service[$config[Arg::NAME]] = $plugins->plugin($config[Arg::PLUGIN]) : null; }