コード例 #1
0
 public function enable()
 {
     if (Globals::RUNTIME_MODE_CLI !== App::environment(Globals::ENV_RUNTIME_MODE)) {
         return false;
     }
     return true;
 }
コード例 #2
0
 public function handle()
 {
     if (Globals::RUNTIME_MODE_CLI !== App::environment(Globals::ENV_RUNTIME_MODE)) {
         throw new ConsoleException("Only run in command line mode");
     }
     //加载Worker并为每个Worker创建一个子进程,然后进入休眠,当接收到信号量时,则执行相应的进程调度操作。
     if (!function_exists("pcntl_signal")) {
         throw new ConsoleException("PHP does not appear to be compiled with the PCNTL extension.This is neccesary for daemonization");
     }
     if (function_exists("gc_enable")) {
         gc_enable();
     }
     $daemon = Daemon::make($_SERVER['argc'], $_SERVER['argv']);
     try {
         /**
          * @var $daemon Daemon
          */
         if (isset($daemon)) {
             $daemon->start();
             sleep(1);
             Console::line("Daemon [" . $daemon->getPID() . "] started.");
         }
     } catch (\Exception $ex) {
         throw new DaemonException($daemon->getName(), $ex->getMessage(), $ex);
     }
 }
コード例 #3
0
ファイル: DB.php プロジェクト: sanzhumu/xaircraft1.1
 /**
  * @param string $database
  * @return DB
  */
 private static function getInstance($database)
 {
     if (!isset(self::$instances) || !array_key_exists($database, self::$instances) || self::$currentDatabase !== $database) {
         self::$instances[$database] = self::create(App::environment(Globals::ENV_DATABASE_PROVIDER), $database);
         self::$currentDatabase = $database;
     }
     return self::$instances[$database];
 }
コード例 #4
0
ファイル: View.php プロジェクト: sanzhumu/xaircraft1.1
 private static function getFilePath($viewName)
 {
     $filePath = str_replace('.', '/', $viewName);
     $extension = App::environment(Globals::ENV_MVC_VIEW_FILE_EXTENSION);
     if (!isset($extension) || $extension === '') {
         $extension = self::ENV_VIEW_FILE_EXT;
     }
     return App::path('app') . self::VIEW_BASE_PATH . $filePath . '.' . $extension;
 }
コード例 #5
0
 public function handle()
 {
     $this->router = Router::getInstance(App::path('routes'), App::path('filter'));
     $defaultRouterToken = App::environment(Globals::ROUTER_DEFAULT_TOKENS);
     if (isset($defaultRouterToken) && !empty($defaultRouterToken)) {
         $this->router->baseMappings['default']['default'] = $defaultRouterToken;
     } else {
         $defaultRouterToken = $this->router->baseMappings['default']['default'];
     }
     $this->router->registerMatchedHandler(function ($params) {
         DI::bindSingleton(Request::class, new Request($params));
         DI::bindSingleton(Response::class, new Response());
     });
     $this->router->registerDefaultMatchedHandler(function ($params) use($defaultRouterToken) {
         $namespace = null;
         if (array_key_exists('namespace', $params)) {
             $namespace = $params['namespace'];
         }
         if (array_key_exists('controller', $params)) {
             $controller = $params['controller'];
         }
         if (array_key_exists('action', $params)) {
             $action = $params['action'];
         }
         if (!isset($controller)) {
             $controller = $defaultRouterToken['controller'];
         }
         if (!isset($action)) {
             $action = $defaultRouterToken['action'];
         }
         Controller::invoke($controller, $action, $namespace);
     });
     $this->router->missing(function () {
         throw new URLRouterException("URL Routing missing.");
     });
     $this->router->routing();
 }