This commit is contained in:
2021-03-25 18:05:31 +08:00
parent 3ff158c337
commit 4d331d2765
2 changed files with 37 additions and 3 deletions
+23
View File
@@ -126,6 +126,29 @@ abstract class GiiBase
}
/**
* @param string $fileName
* @param ReflectionClass $class
* @return string
*/
protected function getImports(string $fileName, ReflectionClass $class): string
{
$startLine = 1;
$array = [];
$fileOpen = fopen($fileName, 'r');
while (($content = fgets($fileOpen)) !== false) {
if (str_starts_with($content, 'use ')) {
$array[] = $content;
}
if ($startLine == $class->getStartLine()) {
break;
}
++$startLine;
}
return implode($array);
}
/**
* @param $fields
* @return mixed 返回表主键
+14 -3
View File
@@ -56,9 +56,18 @@ class GiiModel extends GiiBase
if (file_exists($modelPath['path'] . '/' . $managerName . '.php')) {
try {
$class = Snowflake::getDi()->getReflect("{$modelPath['namespace']}\{$managerName}");
$className = str_replace('\\\\', '\\', "{$modelPath['namespace']}\\{$managerName}");
$html = $this->getUseContent($class, $classFileName);
$class = Snowflake::getDi()->getReflect($className);
$html = '<?php
namespace ' . $namespace . ';
';
$imports = $this->getImports($modelPath['path'] . '/' . $managerName . '.php', $class);
if (!empty($imports)) {
$html .= $imports . PHP_EOL. PHP_EOL;
}
} catch (\Throwable $e) {
logger()->error($e->getMessage());
}
@@ -69,11 +78,13 @@ class GiiModel extends GiiBase
$html = '<?php
namespace ' . $namespace . ';
use Exception;
use Annotation\Target;
use Snowflake\Core\JSON;
use Database\Connection;
use Database\ActiveRecord;';
use Database\ActiveRecord;
' . PHP_EOL;
}
$createSql = $this->setCreateSql($this->tableName);