public static function connectSecure(MysqlEncryption $enc, $params = array())
 {
     $regKey = static::createRegistryKey($enc);
     $conn = static::get($regKey);
     if ($conn) {
         return $conn;
     }
     static::$registry[$regKey] = Mysql::connectFromEncryption($enc, $params);
     return static::$registry[$regKey];
 }
<?php

require __DIR__ . "/../vendor/autoload.php";
use Commando\Command;
use Colors\Color;
use Common\Storage\Connection\Mysql;
$cmd = new Command();
$cmd->option('configPath')->describedAs('db config path to use for credentials')->require();
$cmd->option('group')->describedAs('group to use in db configs `default`');
$cmd->option('db')->describedAs('database name')->require();
$cmd->option('t')->aka('table')->describeAs("table to generate a model for")->require();
$cmd->option('e')->aka('environment')->describeAs("Environment to run mysql connection against")->require();
$cmd->option('d')->aka('directory')->describeAs("Directory to store the results")->require();
$cmd->option('n')->aka('namespace')->describeAs("Namespace for models")->require();
$mysql = new \Common\Storage\Connection\Mysql(array("environment" => $cmd['e'], "configPath" => $cmd['configPath'], "database" => $cmd['db'], "group" => $cmd['group']));
$columns = $mysql->getColumnList($cmd['db'], $cmd['t']);
$namespace = $cmd['n'];
$class = $cmd['table'];
$props = array();
foreach ($columns as $col => $details) {
    if (in_array($col, array('DateAdded', 'DateTimeAdded', 'LastUpdated'))) {
        continue;
    }
    $props[] = "\tpublic \$" . \Common\Tool\Introspection::modelizeName($col) . ";";
}
$props = implode(PHP_EOL . PHP_EOL, $props);
$output = <<<eot
<?php
namespace {$namespace};

use Common\\Model\\BaseModel;