Explorar el Código

feat(entity): 添加模型类名生成功能

- 新增 generateModelName 方法用于从表名生成模型类名
- 在模板变量准备阶段调用模型类名生成逻辑
- 支持移除常见表前缀(tbl_, tb_, t_)
- 实现下划线分隔转驼峰命名的转换逻辑
-为实体生成器添加模型名称处理能力
runphp hace 6 meses
padre
commit
1c9394ed11
Se han modificado 1 ficheros con 17 adiciones y 0 borrados
  1. 17 0
      src/Generator/EntityGenerator.php

+ 17 - 0
src/Generator/EntityGenerator.php

@@ -49,6 +49,8 @@ class EntityGenerator
             }
             }
             
             
             // Prepare template variables
             // Prepare template variables
+            $entityName = $this->generateEntityName($tableName);
+            $modelName = $this->generateModelName($tableName);
             $namespace = rtrim($extensionInfo['namespace'], '\\') . '\\';
             $namespace = rtrim($extensionInfo['namespace'], '\\') . '\\';
             $requiredFields = $this->getRequiredFields($fields);
             $requiredFields = $this->getRequiredFields($fields);
             
             
@@ -87,6 +89,21 @@ class EntityGenerator
         return implode('', $parts) . 'Entity';
         return implode('', $parts) . 'Entity';
     }
     }
     
     
+    /**
+     * Generate model class name from table name
+     */
+    private function generateModelName(string $tableName): string
+    {
+        // Remove common prefixes
+        $tableName = preg_replace('/^(tbl_|tb_|t_)/', '', $tableName);
+        
+        // Convert to PascalCase
+        $parts = explode('_', $tableName);
+        $parts = array_map('ucfirst', $parts);
+        
+        return implode('', $parts) . 'Model';
+    }
+    
     /**
     /**
      * Get required fields for validation
      * Get required fields for validation
      */
      */