Пример #1
0
 public function run($commandString = array())
 {
     if ($commandString) {
         if (!is_array($commandString)) {
             $commandString = 'models ' . $commandString;
         }
         $commandString = explode(' ', $commandString);
     } else {
         $commandString = $_SERVER['argv'];
     }
     if (count($commandString) < 2) {
         return $this->showUsage();
     }
     $params = new DefaultRouteMatcher("[--output-dir=] " . "[--deploy-dir=] " . "[--config=] " . "[--db-host=] " . "[--db-schema=]  " . "[--db-user=] " . "[--db-password=] " . "[--deploy=] " . "[--verbose] " . "[--help] " . "[--force] " . "[--erase] " . "[--cache-dir=] ");
     $argv = $commandString;
     array_shift($argv);
     $consoleParams = $params->match($argv);
     $host = isset($consoleParams['db-host']) ? $consoleParams['db-host'] : '127.0.0.1';
     $dbSchema = isset($consoleParams['db-schema']) ? $consoleParams['db-schema'] : 'test';
     $user = isset($consoleParams['db-user']) ? $consoleParams['db-user'] : '******';
     $password = isset($consoleParams['db-password']) ? $consoleParams['db-password'] : '';
     $dsn = "mysql:host=" . $host . ';' . 'dbname=' . $dbSchema . ';' . 'charset=utf8';
     $configParams = ArrayUtils::filterByOriginalArray($consoleParams, array('output-dir', 'deploy-dir', 'config', 'verbose', 'erase', 'force'));
     $config = new Config($configParams);
     $db = new Mysql($dsn, $user, $password);
     $generator = new Generator($config, $db);
     $generator->run();
 }