Jose\Factory\CompressionManagerFactory::createCompressionManager PHP Method

createCompressionManager() public static method

public static createCompressionManager ( array $methods ) : Jose\Compression\CompressionManagerInterface
$methods array
return Jose\Compression\CompressionManagerInterface
    public static function createCompressionManager(array $methods)
    {
        $compression_manager = new CompressionManager();
        foreach ($methods as $method) {
            if ($method instanceof CompressionInterface) {
                $compression_manager->addCompressionAlgorithm($method);
            } else {
                Assertion::string($method, 'Bad argument: must be a list with either method names (string) or instances of CompressionInterface.');
                $class = self::getMethodClass($method);
                $compression_manager->addCompressionAlgorithm(new $class());
            }
        }
        return $compression_manager;
    }

Usage Example

Example #1
0
 /**
  * @param string[]                                  $algorithms
  * @param \Jose\Payload\PayloadConverterInterface[] $payload_converters
  * @param string[]                                  $compression_methods
  *
  * @return \Jose\EncrypterInterface
  */
 public static function createEncrypter(array $algorithms, array $payload_converters = [], array $compression_methods = ['DEF'])
 {
     $algorithm_manager = AlgorithmManagerFactory::createAlgorithmManager($algorithms);
     $payload_converter_manager = PayloadConverterFactory::createPayloadConverter($payload_converters);
     $compression_manager = CompressionManagerFactory::createCompressionManager($compression_methods);
     return new Encrypter($algorithm_manager, $payload_converter_manager, $compression_manager);
 }
All Usage Examples Of Jose\Factory\CompressionManagerFactory::createCompressionManager