2023-03-28 23:42:43 +08:00
|
|
|
#!/usr/bin/env php
|
2023-03-18 17:32:21 +08:00
|
|
|
<?php
|
|
|
|
|
|
2025-11-30 15:35:04 +08:00
|
|
|
use StaticPHP\ConsoleApplication;
|
|
|
|
|
use StaticPHP\Exception\ExceptionHandler;
|
|
|
|
|
use StaticPHP\Exception\SPCException;
|
2025-03-09 20:30:22 +08:00
|
|
|
|
2023-12-24 14:43:47 +08:00
|
|
|
if (file_exists(dirname(__DIR__) . '/vendor/autoload.php')) {
|
|
|
|
|
// Current: ./bin (git/project mode)
|
|
|
|
|
require_once dirname(__DIR__) . '/vendor/autoload.php';
|
|
|
|
|
} else {
|
|
|
|
|
// Current: ./vendor/crazywhalecc/static-php-cli/bin (composer library mode)
|
|
|
|
|
require_once dirname(__DIR__, 3) . '/autoload.php';
|
|
|
|
|
}
|
2023-03-18 17:32:21 +08:00
|
|
|
|
2025-03-07 18:06:32 +08:00
|
|
|
// Print deprecation notice on PHP < 8.4, use red and highlight background
|
|
|
|
|
if (PHP_VERSION_ID < 80400) {
|
|
|
|
|
echo "\e[43mDeprecation Notice: PHP < 8.4 is deprecated, please upgrade your PHP version.\e[0m\n";
|
|
|
|
|
}
|
|
|
|
|
|
2023-03-18 17:32:21 +08:00
|
|
|
try {
|
2023-08-20 19:51:45 +08:00
|
|
|
(new ConsoleApplication())->run();
|
2025-11-30 15:35:04 +08:00
|
|
|
} catch (SPCException $e) {
|
2026-02-15 21:58:42 +08:00
|
|
|
exit(ExceptionHandler::handleSPCException($e));
|
2025-11-30 15:35:04 +08:00
|
|
|
} catch (\Throwable $e) {
|
2026-02-15 21:58:42 +08:00
|
|
|
exit(ExceptionHandler::handleDefaultException($e));
|
2023-03-18 17:32:21 +08:00
|
|
|
}
|
2025-11-30 15:35:04 +08:00
|
|
|
|