Przeglądaj źródła

完善配置表工具,可以指定导出给客户端的字段

王虎 7 lat temu
rodzic
commit
c0b32a6632
3 zmienionych plików z 19 dodań i 15 usunięć
  1. 6 3
      default.config.php
  2. 11 9
      dump.php
  3. 2 3
      projects/test/model/Item.php

+ 6 - 3
default.config.php

@@ -11,7 +11,10 @@ $typeLine = 3;
 $dataLine = 4;
 // 键值对应的列(1开始)
 $keyColumn = 'item_id';
-// 哪些字段被导出以及导出的格式
+// 哪些字段被导出以及导出的类型
 // 空表示全部导出, 不为空表示导出指定的字段
-$columns = [
-];
+// eg: "id" => "number",  字段名 => 类型, 类型支持: number float string json
+$columns = [];
+// 给客户端的字段, null | array
+// 空表示导出所有字段
+$clientColumns = [];

+ 11 - 9
dump.php

@@ -254,7 +254,7 @@ class Dump
         $this->writeJSON($fileInfo['filename'], $data);
 
         // 生成model文件
-        $this->writeModel($fileInfo['filename'], $columns);
+        $this->writeModel($fileInfo['filename'], $clientColumns);
 
 
         return true;
@@ -311,15 +311,18 @@ TXT;
     /**
      * 写入php model 文件
      *
-     * @param string $filename 写入文件路径
-     * @param array $columns   字段列表
+     * @param string $filename     写入文件路径
+     * @param array $clientColumns 输出给客户端的字段列表
      * @return void
      */
-    private function writeModel($filename, $columns)
+    private function writeModel($filename, $clientColumns)
     {
-        $columnString = '"' . join('", "', array_keys($columns)) . '"';
-        $className    = ucwords($filename);
-        $file         = $this->modelDir . self::$DS . $className . '.php';
+        $columnString = "[]";
+        if (count($clientColumns) > 0) {
+            $columnString = '["' . join('", "', $clientColumns) . '"]';
+        }
+        $className = ucwords($filename);
+        $file      = $this->modelDir . self::$DS . $className . '.php';
         // 整理输出格式
         $config = <<<TXT
 <?php
@@ -343,8 +346,7 @@ class {$className}
      */
     public static function getToClientColumns()
     {
-        // return [{$columnString}];
-        return [];
+         return {$columnString};
     }
 
     /**

+ 2 - 3
projects/test/model/Item.php

@@ -19,8 +19,7 @@ class Item
      */
     public static function getToClientColumns()
     {
-        // return ["item_id", "item_name", "icon", "size", "purchase_price", "stock", "place"];
-        return [];
+         return [];
     }
 
     /**
@@ -47,7 +46,7 @@ class Item
     }
 
     /**
-     * 获取单条
+     * 获取单条配置内容
      *
      * @return array
      */