/** * $pluginManager should be an instance of * Zend\Stdlib\Hydrator\HydratorPluginManager. * * @param ServiceManager $pluginManager */ public function __construct(ServiceManager $pluginManager) { if (!$pluginManager instanceof HydratorPluginManager) { throw new Exception\InvalidArgumentException(sprintf('%s expects an instance of Zend\\Stdlib\\Hydrator\\HydratorPluginManager; received "%s"', __CLASS__, get_class($pluginManager))); } parent::__construct($pluginManager); }
/** * Retrieve all plugins * * Merges the list of plugins with the plugin metadata * * @return array */ protected function getPlugins() { if (is_array($this->plugins)) { return $this->plugins; } $plugins = parent::getPlugins(); $plugins = array_flip($plugins); $plugins = array_merge($plugins, $this->metadata->fetchAll()); array_walk($plugins, function (&$value) { if (is_array($value)) { return; } $value = ['breakchainonfailure' => 'bool']; }); $this->plugins = $plugins; return $this->plugins; }
/** * Retrieve all plugins * * Merges the list of plugins with the plugin metadata * * @return array */ protected function getPlugins() { if (is_array($this->plugins)) { return $this->plugins; } $plugins = parent::getPlugins(); $plugins = array_flip($plugins); $metadata = $this->metadata; array_walk($plugins, function (&$value, $key) use($metadata) { if (!array_key_exists($key, $metadata)) { $value = []; return; } $value = $metadata[$key]; }); $this->plugins = $plugins; return $this->plugins; }