Code Coverage  | 
     ||||||||||
Classes and Traits  | 
      Functions and Methods  | 
      Lines  | 
     ||||||||
| Total |         | 
      100.00%  | 
      1 / 1  | 
              | 
      100.00%  | 
      5 / 5  | 
      CRAP |         | 
      100.00%  | 
      8 / 8  | 
     
| ZfExtensionManagerSfContainer |         | 
      100.00%  | 
      1 / 1  | 
              | 
      100.00%  | 
      5 / 5  | 
      6 |         | 
      100.00%  | 
      8 / 8  | 
     
| __construct |         | 
      100.00%  | 
      1 / 1  | 
      1 |         | 
      100.00%  | 
      1 / 1  | 
     |||
| get |         | 
      100.00%  | 
      1 / 1  | 
      1 |         | 
      100.00%  | 
      1 / 1  | 
     |||
| has |         | 
      100.00%  | 
      1 / 1  | 
      1 |         | 
      100.00%  | 
      1 / 1  | 
     |||
| canonicalizeName |         | 
      100.00%  | 
      1 / 1  | 
      2 |         | 
      100.00%  | 
      3 / 3  | 
     |||
| setContainer |         | 
      100.00%  | 
      1 / 1  | 
      1 |         | 
      100.00%  | 
      2 / 2  | 
     |||
| <?php | |
| /** | |
| * @file | |
| * Contains \Drupal\Component\Bridge\ZfExtensionManagerSfContainer. | |
| */ | |
| namespace Drupal\Component\Bridge; | |
| use Symfony\Component\DependencyInjection\ContainerAwareInterface; | |
| use Symfony\Component\DependencyInjection\ContainerInterface; | |
| use Zend\Feed\Reader\ExtensionManagerInterface as ReaderManagerInterface; | |
| use Zend\Feed\Writer\ExtensionManagerInterface as WriterManagerInterface; | |
| /** | |
| * Defines a bridge between the ZF2 service manager to Symfony container. | |
| */ | |
| class ZfExtensionManagerSfContainer implements ReaderManagerInterface, WriterManagerInterface, ContainerAwareInterface { | |
| /** | |
| * This property was based from Zend Framework (http://framework.zend.com/) | |
| * | |
| * @link http://github.com/zendframework/zf2 for the canonical source repository | |
| * @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com) | |
| * @license http://framework.zend.com/license/new-bsd New BSD License | |
| * | |
| * A map of characters to be replaced through strtr. | |
| * | |
| * @var array | |
| * | |
| * @see \Drupal\Component\Bridge\ZfExtensionManagerSfContainer::canonicalizeName(). | |
| */ | |
| protected $canonicalNamesReplacements = array('-' => '', '_' => '', ' ' => '', '\\' => '', '/' => ''); | |
| /** | |
| * The prefix to be used when retrieving plugins from the container. | |
| * | |
| * @var string | |
| */ | |
| protected $prefix = ''; | |
| /** | |
| * The service container. | |
| * | |
| * @var \Symfony\Component\DependencyInjection\ContainerInterface | |
| */ | |
| protected $container; | |
| /** | |
| * A local cache of computed canonical names. | |
| * | |
| * @var string[] | |
| */ | |
| protected $canonicalNames; | |
| /** | |
| * Constructs a ZfExtensionManagerSfContainer object. | |
| * | |
| * @param string $prefix | |
| * The prefix to be used when retrieving plugins from the container. | |
| */ | |
| public function __construct($prefix = '') { | |
| return $this->prefix = $prefix; | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function get($extension) { | |
| return $this->container->get($this->prefix . $this->canonicalizeName($extension)); | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function has($extension) { | |
| return $this->container->has($this->prefix . $this->canonicalizeName($extension)); | |
| } | |
| /** | |
| * This method was based from Zend Framework (http://framework.zend.com/) | |
| * | |
| * @link http://github.com/zendframework/zf2 for the canonical source repository | |
| * @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com) | |
| * @license http://framework.zend.com/license/new-bsd New BSD License | |
| * | |
| * Canonicalize the extension name to a service name. | |
| * | |
| * @param string $name | |
| * The extension name. | |
| * | |
| * @return string | |
| * The service name, without the prefix. | |
| */ | |
| protected function canonicalizeName($name) { | |
| if (isset($this->canonicalNames[$name])) { | |
| return $this->canonicalNames[$name]; | |
| } | |
| // This is just for performance instead of using str_replace(). | |
| return $this->canonicalNames[$name] = strtolower(strtr($name, $this->canonicalNamesReplacements)); | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function setContainer(ContainerInterface $container = NULL) { | |
| $this->container = $container; | |
| } | |
| } |