作者:till
项目:vufin
/**
* Given a Zend Framework Plugin Manager, initialize the instance.
*
* @param object $instance Instance to
* initialize
* @param \Zend\ServiceManager\AbstractPluginManager $manager Plugin manager
*
* @return object
*/
public static function initZendPlugin($instance, \Zend\ServiceManager\AbstractPluginManager $manager)
{
$sm = $manager->getServiceLocator();
if (null !== $sm) {
static::initInstance($instance, $sm);
}
return $instance;
}
作者:hani
项目:stok
/**
* @return ServiceManager
*/
public function getServiceManager()
{
if (!$this->serviceManager) {
$this->serviceManager = $this->serviceLocator->getServiceLocator();
}
return $this->serviceManager;
}
作者:abduluk9
项目:password-generator-modul
public function __construct(\Zend\ServiceManager\ConfigInterface $configuration = null)
{
parent::__construct($configuration);
$this->setInvokableClass(self::GENERATOR_HUMAN, self::GENERATOR_HUMAN);
$this->setInvokableClass(self::GENERATOR_HYBRID, self::GENERATOR_HYBRID);
$this->setInvokableClass(self::GENERATOR_COMPUTER, self::GENERATOR_COMPUTER);
$this->addInitializer(function (PasswordGeneratorInterface $instance, PluginManager $pm) {
/* @var $options \XelaxPasswordGeneratorModule\Options\GeneratorOptions */
$generatorOptions = $pm->getServiceLocator()->get('XelaxPasswordGeneratorModule\\Options\\Generator');
$options = array();
if (isset($generatorOptions->getGeneratorOptions()[get_class($instance)])) {
$options = $generatorOptions->getGeneratorOptions()[get_class($instance)];
}
if (!empty($options['options'])) {
foreach ($options['options'] as $key => $value) {
$instance->setOptionValue($key, $value);
}
}
if (!empty($options['parameters'])) {
foreach ($options['parameters'] as $key => $value) {
$instance->setParameter($key, $value);
}
}
});
}
作者:robertdamo
项目:zf2-module-asset
public function __construct(ConfigInterface $config = null)
{
parent::__construct($config);
foreach ($this->filters as $filterName => $filterClass) {
$this->setInvokableClass($filterName, $filterClass);
}
}
作者:coolm
项目:commo
/**
* Override: do not use peering service managers
*
* @param string $name
* @param array $options
* @param bool $usePeeringServiceManagers
* @return mixed
*/
public function get($name, $options = [], $usePeeringServiceManagers = false)
{
if (is_string($options)) {
$options = ['class_name' => $options];
}
return parent::get($name, $options, $usePeeringServiceManagers);
}
作者:patrov
项目:omeka-
/**
* {@inheritDoc}
*/
public function __construct(ConfigInterface $configuration = null)
{
parent::__construct($configuration);
$this->addInitializer(function ($instance, $serviceLocator) {
$instance->setServiceLocator($serviceLocator->getServiceLocator());
}, false);
}
作者:i-xpert
项目:zf-oauth2-doctrin
public function get($name, $options = array(), $usePeeringServiceManagers = true)
{
$plugin = parent::get($name, $options, $usePeeringServiceManagers);
$plugin->setConfig($this->getConfig()->{$name});
$plugin->setObjectManager($this->getObjectManager());
return $plugin;
}
作者:cross-solutio
项目:yawi
/**
* Creates an instance.
*
* Adds two default initializers:
* - Inject the translator to mails implementing TranslatorAwareInterface
* - Call init() method on Mails if such method exists.
*
* @param ConfigInterface $configuration
*/
public function __construct(ServiceLocatorInterface $serviceLocator, ConfigInterface $configuration = null)
{
parent::__construct($configuration);
$this->serviceLocator = $serviceLocator;
$self = $this;
$this->addInitializer(function ($instance) use($self) {
if ($instance instanceof TranslatorAwareInterface) {
$translator = $self->getServiceLocator()->get('translator');
$instance->setTranslator($translator);
if (null === $instance->getTranslatorTextDomain()) {
$instance->setTranslatorTextDomain();
}
$instance->setTranslatorEnabled(true);
}
}, false);
$this->addInitializer(function ($instance) {
if (method_exists($instance, 'setServiceLocator')) {
$instance->setServiceLocator($this);
}
}, false);
$this->addInitializer(function ($instance) {
if (method_exists($instance, 'init')) {
$instance->init();
}
}, false);
}
作者:Robert-Xi
项目:php-framework-benchmar
/**
* Retrieve a registered instance
*
* After the plugin is retrieved from the service locator, inject the
* controller in the plugin every time it is requested. This is required
* because a controller can use a plugin and another controller can be
* dispatched afterwards. If this second controller uses the same plugin
* as the first controller, the reference to the controller inside the
* plugin is lost.
*
* @param string $name
* @param mixed $options
* @param bool $usePeeringServiceManagers
* @return mixed
*/
public function get($name, $options = array(), $usePeeringServiceManagers = true)
{
$plugin = parent::get($name, $options, $usePeeringServiceManagers);
$this->injectController($plugin);
return $plugin;
}
作者:froschdesig
项目:zend-vie
/**
* Constructor
*
* Merges provided configuration with default configuration.
*
* Adds initializers to inject the attached renderer and translator, if
* any, to the currently requested helper.
*
* @param null|ConfigInterface|ContainerInterface $configOrContainerInstance
* @param array $v3config If $configOrContainerInstance is a container, this
* value will be passed to the parent constructor.
*/
public function __construct($configOrContainerInstance = null, array $v3config = [])
{
$this->initializers[] = [$this, 'injectRenderer'];
$this->initializers[] = [$this, 'injectTranslator'];
$this->initializers[] = [$this, 'injectEventManager'];
parent::__construct($configOrContainerInstance, $v3config);
}
作者:cross-solutio
项目:yawi
/**
* Creates an instance.
*
* {@inheritDoc}
*
* Adds an additional initializer to inject an event manager to assertions
* implementing {@link EventManagerAwareInterface}.
*
*/
public function __construct(ServiceLocatorInterface $serviceLocator, ConfigInterface $configuration = null)
{
parent::__construct($configuration);
$this->serviceLocator = $serviceLocator;
// Pushing to bottom of stack to ensure this is done last
$this->addInitializer(array($this, 'injectEventManager'), false);
}
作者:uthando-cm
项目:uthando-commo
/**
* @param null $configOrContainerInstance
* @param array $v3config
*/
public function __construct($configOrContainerInstance = null, array $v3config = [])
{
parent::__construct($configOrContainerInstance, $v3config);
$this->addInitializer([$this, 'injectDbAdapter']);
$this->addInitializer([$this, 'injectHydrator']);
$this->addInitializer([$this, 'injectModel']);
}
作者:pedro15
项目:zfcomplemen
/**
* Constructor
*
* After invoking parent constructor, add an initializer to inject the
* attached renderer and translator, if any, to the currently requested helper.
*
* @param null $configuration
*/
public function __construct($configuration = null)
{
parent::__construct(null);
Config::has('jquery', $configuration);
$this->config = new Config($configuration['jquery'], $this->invokableClasses);
$this->addInitializer(array($this, 'injectConfig'));
}
作者:jackdpeterso
项目:SlmQueu
/**
* @inheritdoc
*
* @param string $name
* @param array $options
* @param bool $usePeeringServiceManagers
* @return JobInterface
*/
public function get($name, $options = [], $usePeeringServiceManagers = true)
{
// parent::get calls validatePlugin() so we're sure $instance is a JobInterface
$instance = parent::get($name, $options, $usePeeringServiceManagers);
$instance->setMetadata('__name__', $name);
return $instance;
}
作者:swissbi
项目:resources.swissbib.c
/**
* Constructor
*
* Make sure table gateways are properly initialized.
*
* @param ConfigInterface $configuration Configuration settings (optional)
*/
public function __construct(ConfigInterface $configuration = null)
{
parent::__construct($configuration);
//todo: do we need an Initializer
//$this->addInitializer(
// ['VuFind\ServiceManager\Initializer', 'initPlugin'], false
//);
}
作者:eltondia
项目:Relogi
/**
* Override setInvokableClass().
*
* Performs normal operation, but also auto-aliases the class name to the
* service name. This ensures that providing the FQCN does not trigger an
* abstract factory later.
*
* @param string $name
* @param string $invokableClass
* @param null|bool $shared
* @return RoutePluginManager
*/
public function setInvokableClass($name, $invokableClass, $shared = null)
{
parent::setInvokableClass($name, $invokableClass, $shared);
if ($name != $invokableClass) {
$this->setAlias($invokableClass, $name);
}
return $this;
}
作者:cross-solutio
项目:yawi
public function has($name, $checkAbstractFactories = true, $usePeeringServiceManagers = true)
{
if (is_string($name)) {
// internally called with an array [normalizedName, requestedName].
$this->incrementCallCount('has', $name);
}
return parent::has($name, $checkAbstractFactories, $usePeeringServiceManagers);
}
作者:strapien
项目:str-util
/**
* Converts the given value so that it can be hydrated by the hydrator.
*
* @param mixed $value The original value.
* @param array $data (optional) The original data for context.
* @return mixed Returns the value that should be hydrated.
*/
public function hydrate($value)
{
if ($value instanceof StateInterface) {
return $value;
}
if (is_string($value)) {
if ($this->checkPlugin() && $this->plugins->has($value)) {
return $this->plugins->get($value);
}
throw new \RuntimeException(sprintf('No service registered in %s with name %s', is_object($this->plugins) ? get_class($this->plugins) : gettype($this->plugins), $value));
}
if (empty($value) && $this->checkPlugin() && $this->plugins->has($this->firstStateName)) {
return $this->plugins->has($this->firstStateName);
}
// FIXME is correct? or exception
return $value;
}
作者:xemloc
项目:HumusMv
/**
* Constructor
*
* After invoking parent constructor, add an initializer to inject the
* attached renderer and translator, if any, to the currently requested helper.
*
* @param null|ConfigInterface $configuration
*/
public function __construct(ConfigInterface $configuration = null)
{
parent::__construct($configuration);
$this->addInitializer(array($this, 'injectView'));
if ($this->has('Navigation')) {
$this->setInvokableClass('navigation', 'HumusMvc\\View\\Helper\\Navigation');
}
}
作者:as-sa
项目:zf2-assets-bundl
/**
* @param string $sName
* @param mixed $oAssetFileFilter
* @param boolean $bShared
* @return \AssetsBundle\AssetFile\AssetFileFiltersManager
*/
public function setService($sName, $oAssetFileFilter, $bShared = true)
{
if ($oAssetFileFilter) {
$this->validatePlugin($oAssetFileFilter);
$oAssetFileFilter->setOptions($this->getOptions());
}
parent::setService($sName, $oAssetFileFilter, $bShared);
return $this;
}