¨4.0.1¨
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user