1
1
Fork 0
mirror of https://code.mensbeam.com/MensBeam/Arsse.git synced 2024-12-22 13:12:41 +00:00
Arsse/lib/Arsse.php

46 lines
1.2 KiB
PHP
Raw Normal View History

<?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";
2018-10-26 18:58:04 +00:00
/** @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;
2018-11-06 17:32:28 +00:00
static::$lang = static::$lang ?? new Lang;
static::$conf = $conf;
static::$lang->set($conf->lang);
2018-11-06 17:32:28 +00:00
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]);
}
}
2017-08-29 14:50:31 +00:00
}