Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

<?php declare(strict_types=1); namespace Lcobucci\JWT\Validation; use Lcobucci\JWT\Excep..

Decoded Output download

<?php
declare(strict_types=1);

namespace Lcobucci\JWT\Validation;

use Lcobucci\JWT\Exception;
use RuntimeException;

use function array_map;
use function implode;

final class RequiredConstraintsViolated extends RuntimeException implements Exception
{
    /** @param ConstraintViolation[] $violations */
    public function __construct(
        string $message = '',
        public readonly array $violations = [],
    ) {
        parent::__construct($message);
    }

    public static function fromViolations(ConstraintViolation ...$violations): self
    {
        return new self(message: self::buildMessage($violations), violations: $violations);
    }

    /** @param ConstraintViolation[] $violations */
    private static function buildMessage(array $violations): string
    {
        $violations = array_map(
            static function (ConstraintViolation $violation): string {
                return '- ' . $violation->getMessage();
            },
            $violations,
        );

        $message  = "The token violates some mandatory constraints, details:
";
        $message .= implode("
", $violations);

        return $message;
    }

    /** @return ConstraintViolation[] */
    public function violations(): array
    {
        return $this->violations;
    }
}
 ?>

Did this file decode correctly?

Original Code

<?php
declare(strict_types=1);

namespace Lcobucci\JWT\Validation;

use Lcobucci\JWT\Exception;
use RuntimeException;

use function array_map;
use function implode;

final class RequiredConstraintsViolated extends RuntimeException implements Exception
{
    /** @param ConstraintViolation[] $violations */
    public function __construct(
        string $message = '',
        public readonly array $violations = [],
    ) {
        parent::__construct($message);
    }

    public static function fromViolations(ConstraintViolation ...$violations): self
    {
        return new self(message: self::buildMessage($violations), violations: $violations);
    }

    /** @param ConstraintViolation[] $violations */
    private static function buildMessage(array $violations): string
    {
        $violations = array_map(
            static function (ConstraintViolation $violation): string {
                return '- ' . $violation->getMessage();
            },
            $violations,
        );

        $message  = "The token violates some mandatory constraints, details:\n";
        $message .= implode("\n", $violations);

        return $message;
    }

    /** @return ConstraintViolation[] */
    public function violations(): array
    {
        return $this->violations;
    }
}

Function Calls

None

Variables

None

Stats

MD5 06e00f7f1b6643b9c0c30110e99621ee
Eval Count 0
Decode Time 82 ms