Mercurial > hg > isophonics-drupal-site
view vendor/zendframework/zend-feed/src/Reader/ExtensionManager.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children | 7a779792577d |
line wrap: on
line source
<?php /** * Zend Framework (http://framework.zend.com/) * * @link http://github.com/zendframework/zf2 for the canonical source repository * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com) * @license http://framework.zend.com/license/new-bsd New BSD License */ namespace Zend\Feed\Reader; /** * Default implementation of ExtensionManagerInterface * * Decorator of ExtensionPluginManager. */ class ExtensionManager implements ExtensionManagerInterface { protected $pluginManager; /** * Constructor * * Seeds the extension manager with a plugin manager; if none provided, * creates an instance. * * @param null|ExtensionPluginManager $pluginManager */ public function __construct(ExtensionPluginManager $pluginManager = null) { if (null === $pluginManager) { $pluginManager = new ExtensionPluginManager(); } $this->pluginManager = $pluginManager; } /** * Method overloading * * Proxy to composed ExtensionPluginManager instance. * * @param string $method * @param array $args * @return mixed * @throws Exception\BadMethodCallException */ public function __call($method, $args) { if (!method_exists($this->pluginManager, $method)) { throw new Exception\BadMethodCallException(sprintf( 'Method by name of %s does not exist in %s', $method, __CLASS__ )); } return call_user_func_array([$this->pluginManager, $method], $args); } /** * Get the named extension * * @param string $name * @return Extension\AbstractEntry|Extension\AbstractFeed */ public function get($name) { return $this->pluginManager->get($name); } /** * Do we have the named extension? * * @param string $name * @return bool */ public function has($name) { return $this->pluginManager->has($name); } }