See Release Notes
Long Term Support Release
<?php namespace Firebase\JWT; use InvalidArgumentException; use OpenSSLAsymmetricKey;> use OpenSSLCertificate; > use TypeError;class Key {< /** @var string $algorithm */ < private $algorithm; < < /** @var string|resource|OpenSSLAsymmetricKey $keyMaterial */> /** @var string|resource|OpenSSLAsymmetricKey|OpenSSLCertificate */private $keyMaterial;> /** @var string */ > private $algorithm;/**< * @param string|resource|OpenSSLAsymmetricKey $keyMaterial> * @param string|resource|OpenSSLAsymmetricKey|OpenSSLCertificate $keyMaterial* @param string $algorithm */< public function __construct($keyMaterial, $algorithm) < {> public function __construct( > $keyMaterial, > string $algorithm > ) {if (< !is_string($keyMaterial) < && !is_resource($keyMaterial)> !\is_string($keyMaterial)&& !$keyMaterial instanceof OpenSSLAsymmetricKey> && !$keyMaterial instanceof OpenSSLCertificate ) { > && !\is_resource($keyMaterial)< throw new InvalidArgumentException('Type error: $keyMaterial must be a string, resource, or OpenSSLAsymmetricKey');> throw new TypeError('Key material must be a string, resource, or OpenSSLAsymmetricKey');} if (empty($keyMaterial)) {< throw new InvalidArgumentException('Type error: $keyMaterial must not be empty');> throw new InvalidArgumentException('Key material must not be empty');}< if (!is_string($algorithm)|| empty($keyMaterial)) { < throw new InvalidArgumentException('Type error: $algorithm must be a string');> if (empty($algorithm)) { > throw new InvalidArgumentException('Algorithm must not be empty');}> // TODO: Remove in PHP 8.0 in favor of class constructor property promotion$this->keyMaterial = $keyMaterial; $this->algorithm = $algorithm; } /** * Return the algorithm valid for this key * * @return string */< public function getAlgorithm()> public function getAlgorithm(): string{ return $this->algorithm; } /**< * @return string|resource|OpenSSLAsymmetricKey> * @return string|resource|OpenSSLAsymmetricKey|OpenSSLCertificate*/ public function getKeyMaterial() { return $this->keyMaterial; } }