FleetCart/app/Install/Requirement.php
2023-12-03 14:07:47 +00:00

46 lines
953 B
PHP

<?php
namespace FleetCart\Install;
class Requirement
{
private const extensions = [
'intl' => 'Intl',
'pdo' => 'PDO',
'json' => 'JSON',
'ctype' => 'Ctype',
'xml' => 'XML',
'tokenizer' => 'Tokenizer',
'mbstring' => 'Mbstring',
'openssl' => 'OpenSSL',
];
public function satisfied(): bool
{
return collect($this->php())
->merge($this->extensions())
->every(fn ($item) => $item);
}
public function php(): array
{
return [
'PHP >= 8.0.2' => version_compare(phpversion(), '8.0.2'),
];
}
public function extensions(): array
{
$extensions = [];
foreach (self::extensions as $extension => $name) {
$extensions[$name . ' PHP Extension'] = extension_loaded($extension);
}
return $extensions;
}
}