toArray() public method

Returns the modules in the collection.
public toArray ( ) : Puli\Manager\Api\Module\Module[]
return Puli\Manager\Api\Module\Module[] The modules in the collection.
コード例 #1
0
ファイル: ModuleManagerImpl.php プロジェクト: puli/manager
 /**
  * {@inheritdoc}
  */
 public function removeModules(Expression $expr)
 {
     $this->assertModulesLoaded();
     $installInfos = $this->rootModuleFile->getInstallInfos();
     $modules = $this->modules->toArray();
     foreach ($this->modules->getInstalledModules() as $module) {
         if ($expr->evaluate($module)) {
             $this->rootModuleFile->removeInstallInfo($module->getName());
             $this->modules->remove($module->getName());
         }
     }
     if (!$installInfos) {
         return;
     }
     try {
         $this->jsonStorage->saveRootModuleFile($this->rootModuleFile);
     } catch (Exception $e) {
         $this->rootModuleFile->setInstallInfos($installInfos);
         $this->modules->replace($modules);
         throw $e;
     }
 }
コード例 #2
0
ファイル: ModuleCommandHandler.php プロジェクト: puli/cli
 /**
  * Prints modules with intermediate headers for the module states.
  *
  * @param IO         $io      The I/O
  * @param ModuleList $modules The modules to print
  * @param int[]      $states  The states to print
  */
 private function printModulesByState(IO $io, ModuleList $modules, array $states)
 {
     $printStates = count($states) > 1;
     foreach ($states as $state) {
         $filteredModules = array_filter($modules->toArray(), function (Module $module) use($state) {
             return $state === $module->getState();
         });
         if (0 === count($filteredModules)) {
             continue;
         }
         if ($printStates) {
             $this->printModuleState($io, $state);
         }
         if (ModuleState::NOT_LOADABLE === $state) {
             $this->printNotLoadableModules($io, $filteredModules, $printStates);
         } else {
             $styleTag = ModuleState::ENABLED === $state ? null : 'bad';
             $this->printModuleTable($io, $filteredModules, $styleTag, $printStates);
         }
         if ($printStates) {
             $io->writeLine('');
         }
     }
 }