/** * Include Autoloader */ include APP_PATH . '/config/loader.php'; /** * Get config service for use in inline setup below */ $config = $di->getConfig(); /** * Create a console application */ $console = new ConsoleApp($di); /** * Register console modules */ $console->registerModules(['cli' => ['className' => '@@namespace@@\\Modules\\Cli\\Module']]); /** * Setup the arguments to use the 'cli' module */ $arguments = ['module' => 'cli']; /** * Process the console arguments */ foreach ($argv as $k => $arg) { if ($k == 1) { $arguments['task'] = $arg; } elseif ($k == 2) { $arguments['action'] = $arg; } elseif ($k >= 3) { $arguments['params'][] = $arg; }
public function testModules() { $this->specify("CLI Console doesn't work with modules", function () { $di = new Di(); $di->set('data', function () { return "data"; }); $console = new Console(); $console->setDI($di); $expected = ['devtools' => ['className' => 'dummy', 'path' => 'dummy_file']]; $console->registerModules($expected); expect($console->getModules())->equals($expected); $userModules = ['front' => ['className' => 'front', 'path' => 'front_file'], 'worker' => ['className' => 'worker', 'path' => 'worker_file']]; $expected = ['devtools' => ['className' => 'dummy', 'path' => 'dummy_file'], 'front' => ['className' => 'front', 'path' => 'front_file'], 'worker' => ['className' => 'worker', 'path' => 'worker_file']]; $console->registerModules($userModules, true); expect($console->getModules())->equals($expected); }); }
public function setModules($modules) { parent::registerModules($modules); }
public function cliApp() { $console = new ConsoleApp(); $console->setDI(Bootstrap::get()->cliDi()); $console->registerModules(Bootstrap::get()->modules()); return $console; }
/** * Register an array of modules present in the application * *<code> * $this->registerModules(array( * 'frontend' => array( * 'className' => 'Multiple\Frontend\Module', * 'path' => 'app/frontend/Module.php' * ), * 'backend' => array( * 'className' => 'Multiple\Backend\Module', * 'path' => '../apps/backend/Module.php' * ) * )); *</code> * * @param array $modules */ public function registerModules($modules) { $this->registerSharedData($modules); parent::registerModules($modules); }