Browse Source

优化getParsenameData

灰大狼 6 years ago
parent
commit
d0c100f85e
1 changed files with 6 additions and 4 deletions
  1. 6 4
      application/admin/command/Crud.php

+ 6 - 4
application/admin/command/Crud.php

@@ -1076,19 +1076,21 @@ EOD;
      */
     protected function getParseNameData($module, $name, $table, $type)
     {
+        $arr = [];
         if (!$name) {
-            $arr = [Loader::parseName($table, 1)];
+            $parseName = Loader::parseName($table, 1);
+            $parseArr = [$table];
         } else {
             $name = str_replace(['.', '/', '\\'], '/', $name);
             $arr = explode('/', $name);
+            $parseName = ucfirst(array_pop($arr));
+            $parseArr = $arr;
+            array_push($parseArr, $parseName);
         }
-        $parseName = ucfirst(array_pop($arr));
         $appNamespace = Config::get('app_namespace');
         $parseNamespace = "{$appNamespace}\\{$module}\\{$type}" . ($arr ? "\\" . implode("\\", $arr) : "");
         $moduleDir = APP_PATH . $module . DS;
         $parseFile = $moduleDir . $type . DS . ($arr ? implode(DS, $arr) . DS : '') . $parseName . '.php';
-        $parseArr = $arr;
-        $parseArr[] = Loader::parseName($parseName);
         return [$parseNamespace, $parseName, $parseFile, $parseArr];
     }