![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/laminas/laminas-text/src/Table/ |
<?php namespace Laminas\Text\Table; use Laminas\ServiceManager\AbstractPluginManager; use Laminas\ServiceManager\ConfigInterface; use Laminas\ServiceManager\Exception\InvalidServiceException; use Laminas\ServiceManager\Factory\InvokableFactory; use function get_debug_type; use function sprintf; /** * Plugin manager implementation for text table decorators * * Enforces that decorators retrieved are instances of * Decorator\DecoratorInterface. Additionally, it registers a number of default * decorators. * * @psalm-import-type FactoriesConfigurationType from ConfigInterface * @template-extends AbstractPluginManager<Decorator\DecoratorInterface> */ class DecoratorManager extends AbstractPluginManager { /** * Default set of decorators * * @var array<non-empty-string, non-empty-string> */ protected $aliases = [ 'ascii' => Decorator\Ascii::class, 'Ascii' => Decorator\Ascii::class, 'blank' => Decorator\Blank::class, 'Blank' => Decorator\Blank::class, 'unicode' => Decorator\Unicode::class, 'Unicode' => Decorator\Unicode::class, // Legacy Zend Framework aliases 'Zend\Text\Table\Decorator\Ascii' => Decorator\Ascii::class, 'Zend\Text\Table\Decorator\Unicode' => Decorator\Unicode::class, 'Zend\Text\Table\Decorator\Blank' => Decorator\Blank::class, // v2 normalized FQCNs 'zendtexttabledecoratorascii' => Decorator\Ascii::class, 'zendtexttabledecoratorblank' => Decorator\Blank::class, 'zendtexttabledecoratorunicode' => Decorator\Unicode::class, ]; /** @var FactoriesConfigurationType */ protected $factories = [ Decorator\Ascii::class => InvokableFactory::class, Decorator\Unicode::class => InvokableFactory::class, Decorator\Blank::class => InvokableFactory::class, 'laminastexttabledecoratorascii' => InvokableFactory::class, 'laminastexttabledecoratorblank' => InvokableFactory::class, 'laminastexttabledecoratorunicode' => InvokableFactory::class, ]; /** @inheritDoc */ protected $instanceOf = Decorator\DecoratorInterface::class; /** * {@inheritdoc} (v3) */ public function validate(mixed $instance) { if ($instance instanceof $this->instanceOf) { // we're okay return; } throw new InvalidServiceException(sprintf( 'Plugin of type %s is invalid; must implement %s\Decorator\DecoratorInterface', get_debug_type($instance), __NAMESPACE__ )); } /** * Validate the plugin (v2) * * Checks that the decorator loaded is an instance of Decorator\DecoratorInterface. * * @return void * @throws Exception\InvalidDecoratorException */ public function validatePlugin(mixed $plugin) { try { $this->validate($plugin); } catch (InvalidServiceException $e) { throw new Exception\InvalidDecoratorException($e->getMessage(), $e->getCode(), $e); } } }