protected function getModules() { static $modules = null; if (null === $modules) { $dirs = Helpers::listDir(ROOT_PATH_PROTECTED . DS . 'Modules'); $modules = new Collection(); foreach ($dirs as $dir) { $moduleClassName = '\\App\\Modules\\' . basename($dir) . '\\Module'; if (class_exists($moduleClassName)) { $modules[] = new $moduleClassName(); } } } return $modules; }
protected function getMigrations($module = null) { $migrations = []; $migrationsDir = $this->getMigrationsPath($module); $pathToMigrations = Helpers::listDir($migrationsDir, \SCANDIR_SORT_ASCENDING); foreach ($pathToMigrations as $migration) { if (is_file($migration)) { $migrations[] = basename(substr(strrchr($migration, '_'), 1), '.php'); } } if (empty($migrations)) { $this->writeLn(ucfirst($module) . ' has no migrations'); } return $migrations; }