public function testModules() { $di = new Phalcon\DI(); $di->set('data', function () { return "data"; }); $console = new \Phalcon\CLI\Console(); $console->setDI($di); $expected = array('devtools' => array('className' => 'dummy', 'path' => 'dummy_file')); $console->registerModules($expected); $this->assertEquals($console->getModules(), $expected); $userModules = array('front' => array('className' => 'front', 'path' => 'front_file'), 'worker' => array('className' => 'worker', 'path' => 'worker_file')); $expected = array('devtools' => array('className' => 'dummy', 'path' => 'dummy_file'), 'front' => array('className' => 'front', 'path' => 'front_file'), 'worker' => array('className' => 'worker', 'path' => 'worker_file')); $console->addModules($userModules); $this->assertEquals($console->getModules(), $expected); }
$dbWriteConfig = $currentConfig['write']['db']; $di->set($keyWrite, function () use($dbWriteConfig) { return new Phalcon\Db\Adapter\Pdo\Mysql($dbWriteConfig); }); $dbReadConfig = current($currentConfig['reads']); $di->set($keyRead, function () use($dbReadConfig) { return new Phalcon\Db\Adapter\Pdo\Mysql($dbReadConfig); }); } //设置默认数据库连接 $defaultDbKey = 'db' . ucfirst($config->balanceDb->default); $di->set('db', $di->get($defaultDbKey)); //Redis负载均衡 BalanceRedis::config($config->balanceRedis->toArray()); //URL 工具类 TUrl::config($config->url->toArray()); $console = new Phalcon\CLI\Console(); $console->setDI($di); //注册模块 $modules = array(); foreach ($config->modules as $key => $params) { if ($key == 'default') { continue; } $modules[$key] = array('className' => sprintf('Module\\%s\\Module', ucfirst($key)), 'path' => $params['path']); } $console->registerModules($modules); $console->handle($cliData); } catch (\Phalcon\Exception $e) { echo $e->getMessage(); }