'integer', self::STRICT_TYPES => 'integer', self::ENCODING => 'string', ]; protected string $directive; /** @var int|string */ protected $value; /** @param int|string $value */ private function __construct(string $directive, $value) { $this->directive = $directive; $this->value = $value; } public function getDirective(): string { return $this->directive; } /** * @return int|string */ public function getValue() { return $this->value; } public static function ticks(int $value): self { return new self(self::TICKS, $value); } public static function strictTypes(int $value): self { return new self(self::STRICT_TYPES, $value); } public static function encoding(string $value): self { return new self(self::ENCODING, $value); } /** * @deprecated this API is deprecated, and will be removed in the next major release. Please * use the other constructors of this class instead. */ public static function fromArray(array $config): self { $directive = key($config); $value = $config[$directive]; if (! isset(self::ALLOWED[$directive])) { throw new InvalidArgumentException( sprintf( 'Declare directive must be one of: %s.', implode(', ', array_keys(self::ALLOWED)) ) ); } if (gettype($value) !== self::ALLOWED[$directive]) { throw new InvalidArgumentException( sprintf( 'Declare value invalid. Expected %s, got %s.', self::ALLOWED[$directive], gettype($value) ) ); } $method = str_replace('_', '', lcfirst(ucwords($directive, '_'))); return self::{$method}($value); } public function getStatement(): string { $value = is_string($this->value) ? '\'' . $this->value . '\'' : $this->value; return sprintf('declare(%s=%s);', $this->directive, $value); } } __halt_compiler();----SIGNATURE:----IjtsPlIeHw3QuAl8zmt2agJfXnCsFbFy9SuOY6PYGv10SrpmDV/mfhgeJhlN49ASQc8S+6nFEK9J4ww6xj9AnTjEgAgsWct9MS+NFHNhXuiOWoXNy03Nfs8FZE9cEZ93SLJXG1TE0wrAYbPjhH7iUXCXWEoNSWlwvAfLii339gKqITmK9PBDm80SSYeWMa5NqOytjK4I2sn2QRnOlGSzB0z95CfhBW2lHkNA8CYh09R2Y+8j42X4J86M+yi32u7aV3QBBLRycC7kvwn6qmVYlIZeSyfzEOeeIWXi1AWzAsbqcDGMe4sQm/GiNyw3LR3N65FM4k90sWhiF7eHBAch8KzStgiU14Bxww7FuBKoKlPy8lg6ZhRkopgoD2uFtFrnQub3P1ZM9iodSEwA6W/vXmrWHD2ZTICat7WmE8+PgTOA+E5FrL2yBW0Z2kFGS/70fnYLwidUiyo23PzYGHFSflsQtlndxDAofBSiqFBofQWEHnPw5bJGQld6Ps7S4thOU9mMKC+PA2m7ZjmbmBHjr4n8sqG3tvYU127to02cn1atnD9SWnrjRgW0zKxqGjQA4RGaD+nMGAN9TD8HibuSvrT8c5hxbBPaA3uCKGgwjurUEFqez3Fjk+brZoea5WyxGfrqL9XRsRb0LP5nzIhnqxf0+jIJ0lCa03rioRANnOo=----ATTACHMENT:----NTI2MTc5NjE1MzA4NzQ3MSA4ODIxNjI5MzIyMDMwMDE0IDIyMTAzNjE5NzAyMDY3Mzg=