'controller/' . ($processedModuleName ? $processedModuleName . '/' : '') . $className . 'Controller.' . $extension, 'model' => 'model/' . ($processedModuleName ? $processedModuleName . '/' : '') . $className . '.' . $extension, 'service' => $servicePath . ($processedModuleName ? $processedModuleName . '/' : '') . $className . 'Service.' . $extension, 'dao' => 'dao/' . ($processedModuleName ? $processedModuleName . '/' : '') . $className . 'Dao.' . $extension, 'validate' => 'validate/' . ($processedModuleName ? $processedModuleName . '/' : '') . $className . 'Validate.' . $extension, 'response' => 'schema/response/' . ($processedModuleName ? $processedModuleName . '/' : '') . $className . 'Response.' . $extension, 'request_form' => 'schema/request/' . ($processedModuleName ? $processedModuleName . '/' : '') . $className . 'FormRequest.' . $extension, 'request_query' => 'schema/request/' . ($processedModuleName ? $processedModuleName . '/' : '') . $className . 'QueryRequest.' . $extension, // 前端文件路径映射 'api' => 'api/' . ($processedModuleName ? $processedModuleName . '/' : '') . 'index.ts', 'api_model' => 'api/' . ($processedModuleName ? $processedModuleName . '/' : '') . 'types.ts', 'view' => 'views/' . ($processedModuleName ? $processedModuleName . '/' : '') . 'index.vue', 'view_schema' => 'views/' . ($processedModuleName ? $processedModuleName . '/' : '') . 'schemas/index.tsx', 'lang' => 'lang/zh-cn/' . $processedModuleName . '.json', ]; $relativePath = $pathMap[$fileType] ?? $fileType . '/' . $className . '.' . $extension; return $basePath . DS . $relativePath; } /** * 确保路径存在 * @param string $path 路径 * @return void */ public function ensurePathExists(string $path): void { $dirPath = dirname($path); if (!is_dir($dirPath)) { mkdir($dirPath, 0777, true); } } /** * 获取相对路径 * @param string $fullPath 完整路径 * @param string $basePath 基础路径 * @return string 相对路径 */ public function getRelativePath(string $fullPath, string $basePath): string { return str_replace($basePath . DS, '', $fullPath); } }