Ver código fonte

improve sqldebugger

phpdevcommunity 1 mês atrás
pai
commit
1657458493

+ 1 - 1
src/Command/DatabaseSyncCommand.php

@@ -69,7 +69,7 @@ class DatabaseSyncCommand implements CommandInterface
             'Entities directory : ' . $this->entityDir
         ]);
 
-        $entities = EntityExplorer::getEntities($this->entityDir);
+        $entities = EntityExplorer::getEntities([$this->entityDir]);
         $io->title('Number of entities detected: ' . count($entities));
         $io->listKeyValues($entities);
 

+ 2 - 2
src/Command/Migration/MigrationDiffCommand.php

@@ -67,7 +67,7 @@ class MigrationDiffCommand implements CommandInterface
             'Entities directory : ' . $entitiesDir
         ]);
 
-        $entities = EntityExplorer::getEntities($entitiesDir);
+        $entities = EntityExplorer::getEntities([$entitiesDir]);
         $io->title('Number of entities detected: ' . count($entities));
         $io->listKeyValues($entities);
 
@@ -87,7 +87,7 @@ class MigrationDiffCommand implements CommandInterface
             $io->listKeyValues($lines);
         }
 
-        $io->success('Migration file successfully generated: ' . $file);
+        $io->success('Migration file successfully generated: ' . $file);
     }
 
 }

+ 1 - 1
src/Command/Migration/MigrationMigrateCommand.php

@@ -56,7 +56,7 @@ class MigrationMigrateCommand implements CommandInterface
         }
 
         foreach ($successList as $version) {
-            $io->success('Migration successfully executed: version ' . $version);
+            $io->success('Migration successfully executed: version ' . $version);
         }
 
         if (empty($successList) && $error === null) {

+ 10 - 0
src/Debugger/SqlDebugger.php

@@ -47,6 +47,16 @@ class SqlDebugger
         return array_values($this->queries);
     }
 
+    public function getQueryCount(): int
+    {
+        return count($this->queries);
+    }
+
+    public function getTotalTime(): float
+    {
+        return array_sum(array_column($this->queries, 'executionTime'));
+    }
+
     public function clear(): void
     {
         $this->queries = [];

+ 9 - 8
src/Tools/EntityExplorer.php

@@ -8,18 +8,19 @@ use PhpDevCommunity\PaperORM\Entity\EntityInterface;
 final class EntityExplorer
 {
 
-    public static function getEntities(string $dir): array
+    public static function getEntities(array $dirs): array
     {
-        $explorer = new FileExplorer($dir);
-        $files = $explorer->searchByExtension('php', true);
         $entities = [];
-        foreach ($files as $file) {
-            $entityClass = self::extractNamespaceAndClass($file['path']);
-            if ($entityClass !== null && class_exists($entityClass) && is_subclass_of($entityClass, EntityInterface::class)) {
-                $entities[$file['path']] = $entityClass;
+        foreach ($dirs as $dir) {
+            $explorer = new FileExplorer($dir);
+            $files = $explorer->searchByExtension('php', true);
+            foreach ($files as $file) {
+                $entityClass = self::extractNamespaceAndClass($file['path']);
+                if ($entityClass !== null && class_exists($entityClass) && is_subclass_of($entityClass, EntityInterface::class)) {
+                    $entities[$file['path']] = $entityClass;
+                }
             }
         }
-
         return $entities;
     }