Example #1
0
 /**
  * @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;
 }
Example #2
0
 /**
  * @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;
 }