Jose\Factory\AlgorithmManagerFactory::createAlgorithmManager PHP Method

createAlgorithmManager() public static method

public static createAlgorithmManager ( array $algorithms ) : Jose\Algorithm\JWAManagerInterface
$algorithms array
return Jose\Algorithm\JWAManagerInterface
    public static function createAlgorithmManager(array $algorithms)
    {
        $jwa_manager = new JWAManager();
        foreach ($algorithms as $algorithm) {
            if ($algorithm instanceof JWAInterface) {
                $jwa_manager->addAlgorithm($algorithm);
            } else {
                Assertion::string($algorithm, 'Bad argument: must be a list with either algorithm names (string) or instances of JWAInterface.');
                $class = self::getAlgorithmClass($algorithm);
                $jwa_manager->addAlgorithm(new $class());
            }
        }
        return $jwa_manager;
    }

Usage Example

 /**
  * @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\AlgorithmManagerFactory::createAlgorithmManager