public function generateRedis()
 {
     $namespace = \Zule\Tools\Config::zc()->framework->application_namespace;
     $columns = [];
     foreach ($_POST['column'] as $col) {
         if ($col) {
             $columns[] = ['name' => $col, 'camel' => camel($col), 'l_camel' => lCamel($col)];
         }
     }
     $model = $_POST['model_name'];
     $s = new \Smarty();
     $s->assign('model_name', camel($model));
     $s->assign('namespace', $namespace . '\\Models');
     $s->assign('system', 'Zule');
     $s->assign('class_name', camel($model));
     $s->assign('extend_path', '\\Zule\\Models\\Model');
     $s->assign('impl_date', date('Y-m-d H:i:s'));
     $s->assign('use_unsafe_setters', 0);
     $s->assign('table_name', $model);
     $s->assign('columns', $columns);
     $s->assign('primary_key', $model);
     $gen = new Generator("../models/" . camel($model) . '.php');
     $gen->generate($s, 'model_redis');
     $s->assign('namespace', $namespace . '\\Models\\Data');
     $s->assign('extend_path', '\\Zule\\Models\\Data\\Redis');
     $gen = new Generator("../models/Data/" . camel($model) . '.php');
     $gen->generate($s, 'gateway_redis');
 }
示例#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;
 }
 $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) {
     if (in_array($table . '_' . $column['COLUMN_NAME'], array_keys($_POST))) {
         // column wants getters/setters
         $col = $column['COLUMN_NAME'];
         $columns[] = $col;
         $camels[$col] = camel($col);
         $lCamels[$col] = lCamel($col);
         if ($column['PRIMARY']) {
             $primaryKey = $col;
         }
     } else {
         if ($column['PRIMARY']) {
             // no getter/setter set for primary, but gateway still exists
             $primaryKey = $column['COLUMN_NAME'];
         }
     }
 }
 $s->assign('generate_gateway', isset($_POST['make_gateway']) ? yes : no);
 $s->assign('columns', $columns);
 $s->assign('camels', $camels);
 $s->assign('lCamels', $lCamels);
 $string = $s->fetch('new_model.tpl');