index.php 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. #!/usr/bin/env php
  2. <?php
  3. use Proginn\Start;
  4. define('ROOT_DIR', dirname(__DIR__));
  5. define('COMMAND_ROOT_DIR', ROOT_DIR . DIRECTORY_SEPARATOR . 'command');
  6. define('SHELL_ROOT_DIR', ROOT_DIR . DIRECTORY_SEPARATOR . 'shell');
  7. define('CONFIG_ROOT_DIR', ROOT_DIR . DIRECTORY_SEPARATOR . 'config');
  8. define('YML_ROOT_DIR', ROOT_DIR . DIRECTORY_SEPARATOR . 'yml');
  9. require_once COMMAND_ROOT_DIR . '/vendor/autoload.php';
  10. set_time_limit(0);
  11. /**
  12. * throw exceptions based on E_* error types
  13. */
  14. set_error_handler(function ($err_severity, $err_msg, $err_file, $err_line, array $err_context) {
  15. // error was suppressed with the @-operator
  16. if (0 === error_reporting()) {return false;}
  17. switch ($err_severity) {
  18. case E_ERROR:throw new ErrorException($err_msg, 0, $err_severity, $err_file, $err_line);
  19. case E_WARNING:throw new WarningException($err_msg, 0, $err_severity, $err_file, $err_line);
  20. case E_PARSE:throw new ParseException($err_msg, 0, $err_severity, $err_file, $err_line);
  21. case E_NOTICE:throw new NoticeException($err_msg, 0, $err_severity, $err_file, $err_line);
  22. case E_CORE_ERROR:throw new CoreErrorException($err_msg, 0, $err_severity, $err_file, $err_line);
  23. case E_CORE_WARNING:throw new CoreWarningException($err_msg, 0, $err_severity, $err_file, $err_line);
  24. case E_COMPILE_ERROR:throw new CompileErrorException($err_msg, 0, $err_severity, $err_file, $err_line);
  25. case E_COMPILE_WARNING:throw new CoreWarningException($err_msg, 0, $err_severity, $err_file, $err_line);
  26. case E_USER_ERROR:throw new UserErrorException($err_msg, 0, $err_severity, $err_file, $err_line);
  27. case E_USER_WARNING:throw new UserWarningException($err_msg, 0, $err_severity, $err_file, $err_line);
  28. case E_USER_NOTICE:throw new UserNoticeException($err_msg, 0, $err_severity, $err_file, $err_line);
  29. case E_STRICT:throw new StrictException($err_msg, 0, $err_severity, $err_file, $err_line);
  30. case E_RECOVERABLE_ERROR:throw new RecoverableErrorException($err_msg, 0, $err_severity, $err_file, $err_line);
  31. case E_DEPRECATED:throw new DeprecatedException($err_msg, 0, $err_severity, $err_file, $err_line);
  32. case E_USER_DEPRECATED:throw new UserDeprecatedException($err_msg, 0, $err_severity, $err_file, $err_line);
  33. }
  34. });
  35. class WarningException extends ErrorException
  36. {}
  37. class ParseException extends ErrorException
  38. {}
  39. class NoticeException extends ErrorException
  40. {}
  41. class CoreErrorException extends ErrorException
  42. {}
  43. class CoreWarningException extends ErrorException
  44. {}
  45. class CompileErrorException extends ErrorException
  46. {}
  47. class CompileWarningException extends ErrorException
  48. {}
  49. class UserErrorException extends ErrorException
  50. {}
  51. class UserWarningException extends ErrorException
  52. {}
  53. class UserNoticeException extends ErrorException
  54. {}
  55. class StrictException extends ErrorException
  56. {}
  57. class RecoverableErrorException extends ErrorException
  58. {}
  59. class DeprecatedException extends ErrorException
  60. {}
  61. class UserDeprecatedException extends ErrorException
  62. {}
  63. $command = new Start($argv);