예제 #1
0
 public function awaken()
 {
     // should we use Redis?
     $this->useRedis = isset($_POST['use_redis']);
     if (!$this->useRedis) {
         // SQL not supported with Zend DB adapter anymore.
         // get list of tables
         $db = \Zule\Tools\DB::zdb();
         $dbTables = $db->listTables();
         foreach ($dbTables as $table) {
             if (in_array($table, array_keys($_POST))) {
                 $this->tables[] = new ModelTable($table);
             }
         }
         return $this;
     } else {
         // not sure what to do here.
         return $this;
     }
 }
예제 #2
0
 public function awaken()
 {
     // Get database columns & primary keys
     $db = \Zule\Tools\DB::zdb();
     foreach ($db->describeTable($this->tableName) as $column) {
         if (in_array($this->tableName . '_' . $column['COLUMN_NAME'], array_keys($_POST))) {
             // column wants getters/setters
             $col = $column['COLUMN_NAME'];
             $this->columns[$col] = ['name' => $col, 'camel' => camel($col), 'l_camel' => lCamel($col)];
             if ($column['PRIMARY']) {
                 $this->primaryKeys[] = $col;
             }
         } else {
             if ($column['PRIMARY']) {
                 // no getter/setter set for primary, but gateway still exists
                 $this->primaryKeys[] = $column['COLUMN_NAME'];
             }
         }
     }
     return $this;
 }
예제 #3
0
    }
    return $name;
}
function lCamel($name)
{
    while ($pos = strpos($name, '_')) {
        $f = substr($name, 0, $pos);
        $l = substr($name, $pos + 1);
        $l[0] = strtoupper($l[0]);
        $name = $f . $l;
    }
    return $name;
}
$namespace = \Zule\Tools\Config::zc()->framework->application_namespace;
$system = 'Zule';
$db = \Zule\Tools\DB::zdb();
$dbTables = $db->listTables();
foreach ($_POST as $table => $useless) {
    if (in_array($table, $dbTables)) {
        echo "Generating model file for {$table}" . PHP_EOL;
        // $table is scheduled for generation
        $s = new \Smarty();
        $model = $_POST["class_{$table}"];
        $s->assign('model_name', $model);
        $s->assign('namespace', $namespace);
        $s->assign('system', $system);
        $s->assign('php_open', '<?php');
        $columns = [];
        $camels = [];
        $lCamels = [];
        foreach ($db->describeTable($table) as $column) {