Spamworldpro Mini Shell
Spamworldpro


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/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/old/vendor/laminas/laminas-text/src/Table/DecoratorManager.php
<?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);
        }
    }
}

Spamworldpro Mini