Puli\Manager\Api\Module\RootModuleFile::setPluginClasses PHP Method

setPluginClasses() public method

The plugin classes must be fully-qualified class names that implement {@link Puli\Manager\Api\PuliPlugin}. If a class is not found or does not implement that interface, an exception is thrown. The plugin classes must not have required parameters in their constructor so that they can be successfully instantiated. If a constructor has required parameters, an exception is thrown. Leading backslashes are removed from the fully-qualified class names.
public setPluginClasses ( array $pluginClasses )
$pluginClasses array The fully qualified plugin class names.
    public function setPluginClasses(array $pluginClasses)
    {
        $this->pluginClasses = array();
        $this->addPluginClasses($pluginClasses);
    }

Usage Example

 /**
  * {@inheritdoc}
  */
 public function removePluginClasses(Expression $expr)
 {
     $save = false;
     $previousClasses = $this->rootModuleFile->getPluginClasses();
     foreach ($previousClasses as $pluginClass) {
         if ($expr->evaluate($pluginClass)) {
             $this->rootModuleFile->removePluginClass($pluginClass);
             $save = true;
         }
     }
     if (!$save) {
         return;
     }
     try {
         $this->jsonStorage->saveRootModuleFile($this->rootModuleFile);
     } catch (Exception $e) {
         $this->rootModuleFile->setPluginClasses($previousClasses);
         throw $e;
     }
 }
All Usage Examples Of Puli\Manager\Api\Module\RootModuleFile::setPluginClasses