¨4.0.1¨

This commit is contained in:
¨NW¨
2023-12-03 14:07:47 +00:00
parent c08b36d1b6
commit f35052522d
1112 changed files with 43019 additions and 24987 deletions

View File

@@ -4,36 +4,42 @@ namespace FleetCart\Install;
class Requirement
{
public function extensions()
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'),
'Intl PHP Extension' => extension_loaded('intl'),
'OpenSSL PHP Extension' => extension_loaded('openssl'),
'PDO PHP Extension' => extension_loaded('pdo'),
'Mbstring PHP Extension' => extension_loaded('mbstring'),
'Tokenizer PHP Extension' => extension_loaded('tokenizer'),
'XML PHP Extension' => extension_loaded('xml'),
'Ctype PHP Extension' => extension_loaded('ctype'),
'JSON PHP Extension' => extension_loaded('json'),
];
}
public function directories()
{
return [
'.env' => is_writable(base_path('.env')),
'storage' => is_writable(storage_path()),
'bootstrap/cache' => is_writable(app()->bootstrapPath('cache')),
];
}
public function satisfied()
public function extensions(): array
{
return collect($this->extensions())
->merge($this->directories())
->every(function ($item) {
return $item;
});
$extensions = [];
foreach (self::extensions as $extension => $name) {
$extensions[$name . ' PHP Extension'] = extension_loaded($extension);
}
return $extensions;
}
}