Pattern\CallbackCache::class, 'Callback' => Pattern\CallbackCache::class, 'capture' => Pattern\CaptureCache::class, 'Capture' => Pattern\CaptureCache::class, 'class' => Pattern\ClassCache::class, 'Class' => Pattern\ClassCache::class, 'object' => Pattern\ObjectCache::class, 'Object' => Pattern\ObjectCache::class, 'output' => Pattern\OutputCache::class, 'Output' => Pattern\OutputCache::class, ]; protected $factories = [ Pattern\CallbackCache::class => InvokableFactory::class, Pattern\CaptureCache::class => InvokableFactory::class, Pattern\ClassCache::class => InvokableFactory::class, Pattern\ObjectCache::class => InvokableFactory::class, Pattern\OutputCache::class => InvokableFactory::class, // v2 normalized FQCNs 'zendcachepatterncallbackcache' => InvokableFactory::class, 'zendcachepatterncapturecache' => InvokableFactory::class, 'zendcachepatternclasscache' => InvokableFactory::class, 'zendcachepatternobjectcache' => InvokableFactory::class, 'zendcachepatternoutputcache' => InvokableFactory::class, ]; /** * Don't share by default * * @var bool */ protected $shareByDefault = false; /** * Don't share by default * * @var bool */ protected $sharedByDefault = false; /** * @var string */ protected $instanceOf = Pattern\PatternInterface::class; /** * Override get to inject options as PatternOptions instance. * * {@inheritDoc} */ public function get($plugin, array $options = null, $usePeeringServiceManagers = true) { if (empty($options)) { return parent::get($plugin, null, $usePeeringServiceManagers); } $plugin = parent::get($plugin, null, $usePeeringServiceManagers); $plugin->setOptions(new Pattern\PatternOptions($options)); return $plugin; } }