mirror of
https://code.mensbeam.com/MensBeam/Arsse.git
synced 2024-12-31 21:12:41 +00:00
75e87f31a0
This is useful in general, but will also provide clear error text if trying to fork without the posix or pcntl extensions
45 lines
1.2 KiB
PHP
45 lines
1.2 KiB
PHP
<?php
|
|
/** @license MIT
|
|
* Copyright 2017 J. King, Dustin Wilson et al.
|
|
* See LICENSE and AUTHORS files for details */
|
|
|
|
declare(strict_types=1);
|
|
namespace JKingWeb\Arsse;
|
|
|
|
class Arsse {
|
|
public const VERSION = "0.9.2";
|
|
|
|
/** @var Factory */
|
|
public static $obj;
|
|
/** @var Lang */
|
|
public static $lang;
|
|
/** @var Conf */
|
|
public static $conf;
|
|
/** @var Database */
|
|
public static $db;
|
|
/** @var User */
|
|
public static $user;
|
|
|
|
public static function load(Conf $conf): void {
|
|
static::$obj = static::$obj ?? new Factory;
|
|
static::$lang = static::$lang ?? new Lang;
|
|
static::$conf = $conf;
|
|
static::$lang->set($conf->lang);
|
|
static::$db = static::$db ?? new Database;
|
|
static::$user = static::$user ?? new User;
|
|
}
|
|
|
|
public static function checkExtensions(string ...$ext): void {
|
|
$missing = [];
|
|
foreach ($ext as $e) {
|
|
if (!extension_loaded($e)) {
|
|
$missing[] = $e;
|
|
}
|
|
}
|
|
if ($missing) {
|
|
$total = sizeof($missing);
|
|
$first = $missing[0];
|
|
throw new Exception("extMissing", ['first' => $first, 'total' => $total]);
|
|
}
|
|
}
|
|
}
|