ExtensionManager.php in Zircon Profile 8.0
Same filename in this branch
Same filename and directory in other branches
Namespace
Zend\Feed\ReaderFile
vendor/zendframework/zend-feed/src/Reader/ExtensionManager.phpView 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);
}
}
Classes
Name | Description |
---|---|
ExtensionManager | Default implementation of ExtensionManagerInterface |