Пример #1
0
 public static function dispatch(rtAppConfig $config)
 {
     // Load the project's config
     Rythm::init();
     // Load the application's config
     // Route the request
     rtRoute::route();
     //============================================================
     // Start Handle the request
     //============================================================
     // Initial middleware classes
     $middleware_classes = rtConfig::get('middlewares', array());
     $middlewares = array();
     foreach ($middleware_classes as $middleware_class) {
         require_once "middleware/{$middleware_class}.php";
         $middlewares[] = new $middleware_class();
     }
     // ===========================================
     // middleware start process request
     $request = rtRequest::getInstance();
     foreach ($middlewares as $middleware) {
         if (method_exists($middleware, 'process_request')) {
             $middleware->process_request($request);
         }
     }
     // middleware end process request
     // ===========================================
     // Core Process
     $controller = $request->getController();
     $action = $request->getAction();
     $controller_class = ucfirst($controller) . 'Controller';
     if (!class_exists($controller_class)) {
         throw new rtException("Can't find Controller: {$controller_class}");
     }
     $controller = new $controller_class();
     if (!$controller instanceof rtController) {
         throw new rtException("Controller:{$controller_class} must extend from rtController class");
     }
     $controller->execute($action . 'Action', $request);
     // End Core Process
     // ===========================================
     // start process response
     $response = rtResponse::getInstance();
     // response middleware process in the reverse direction
     foreach (array_reverse($middlewares) as $middleware) {
         if (method_exists($middleware, 'process_response')) {
             $middleware->process_response($response);
         }
     }
     // end process response
 }
Пример #2
0
<?php

require_once 'config/AppConfig.class.php';
AppConfig::getAppConfig('rblog', 'dev');
Rythm::init();
// Include your Doctrine configuration/setup here, your connections, models, etc.
// Configure Doctrine Cli
// Normally these are arguments to the cli tasks but if they are set here the arguments will be auto-filled and are not required for you to enter them.
$config = array('data_fixtures_path' => '/path/to/data/fixtures', 'models_path' => rtConfig::get('rt_project_dir') . DS . 'lib' . DS . 'models', 'migrations_path' => ROOT_DIR . DS . 'data' . DS . 'migrations', 'sql_path' => rtConfig::get('rt_data_dir') . DS . 'sql', 'yaml_schema_path' => rtConfig::get('rt_config_dir') . DS . 'schema.yml');
$cli = new Doctrine_Cli($config);
$cli->run($_SERVER['argv']);