|
5 | 5 | use Composer\Autoload\ClassLoader; |
6 | 6 | use Composite\DB\Attributes\Table; |
7 | 7 | use Composite\Sync\Attributes\SkipMigration; |
| 8 | +use Composite\Sync\Helpers\ClassFileLocator; |
8 | 9 | use Composite\Sync\Helpers\ConsoleLogger; |
9 | 10 | use Composite\Sync\Migration\MigrationsManager; |
10 | 11 | use Composite\Sync\Helpers\CommandHelper; |
11 | 12 | use Composite\DB\TableConfig; |
12 | 13 | use Composite\Entity\AbstractEntity; |
13 | 14 | use Composite\Entity\Exceptions\EntityException; |
14 | | -use Laminas\File\ClassFileLocator; |
15 | 15 | use Symfony\Component\Console\Attribute\AsCommand; |
16 | 16 | use Symfony\Component\Console\Command\Command; |
17 | 17 | use Symfony\Component\Console\Input\InputInterface; |
@@ -108,29 +108,24 @@ private function findAllEntities(): array |
108 | 108 | } |
109 | 109 |
|
110 | 110 | foreach ($dirs as $dir) { |
111 | | - $locator = new ClassFileLocator($dir); |
112 | | - foreach ($locator as $file) { |
113 | | - foreach ($file->getClasses() as $class) { |
114 | | - if (!is_subclass_of($class, AbstractEntity::class)) { |
115 | | - continue; |
116 | | - } |
117 | | - $schema = $class::schema(); |
118 | | - if ($schema->getFirstAttributeByClass(SkipMigration::class)) { |
119 | | - continue; |
120 | | - } |
121 | | - if (!$schema->getFirstAttributeByClass(Table::class)) { |
122 | | - continue; |
123 | | - } |
124 | | - try { |
125 | | - $tableConfig = TableConfig::fromEntitySchema($schema); |
126 | | - } catch (EntityException) { |
127 | | - continue; |
128 | | - } |
129 | | - if ($onlyConnectionName && $tableConfig->connectionName !== $onlyConnectionName) { |
130 | | - continue; |
131 | | - } |
132 | | - $result[] = $class; |
| 111 | + $locator = new ClassFileLocator(); |
| 112 | + foreach ($locator->findClasses($dir, AbstractEntity::class) as $class) { |
| 113 | + $schema = $class::schema(); |
| 114 | + if ($schema->getFirstAttributeByClass(SkipMigration::class)) { |
| 115 | + continue; |
| 116 | + } |
| 117 | + if (!$schema->getFirstAttributeByClass(Table::class)) { |
| 118 | + continue; |
| 119 | + } |
| 120 | + try { |
| 121 | + $tableConfig = TableConfig::fromEntitySchema($schema); |
| 122 | + } catch (EntityException) { |
| 123 | + continue; |
| 124 | + } |
| 125 | + if ($onlyConnectionName && $tableConfig->connectionName !== $onlyConnectionName) { |
| 126 | + continue; |
133 | 127 | } |
| 128 | + $result[] = $class; |
134 | 129 | } |
135 | 130 | } |
136 | 131 | return $result; |
|
0 commit comments