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, self::class )); } return call_user_func_array([$this->pluginManager, $method], $args); } /** * Get the named extension * * @param string $extension * @return Extension\AbstractEntry|Extension\AbstractFeed */ public function get($extension) { return $this->pluginManager->get($extension); } /** * Do we have the named extension? * * @param string $extension */ public function has($extension): bool { return $this->pluginManager->has($extension); } }