You are here

class PluginManager in Views (for Drupal 7) 8.3

Hierarchy

Expanded class hierarchy of PluginManager

File

lib/Drupal/views/Plugin/Type/PluginManager.php, line 16
Definition of Drupal\views\Plugin\Type\PluginManager.

Namespace

Drupal\views\Plugin\Type
View source
class PluginManager extends PluginManagerBase {

  /**
   * A list of Drupal core modules.
   *
   * @var array
   */
  protected $coreModules = array();

  /**
   * Constructs a PluginManager object.
   */
  public function __construct($type) {

    // @todo Remove this hack in http://drupal.org/node/1708404.
    views_init();
    $this->discovery = new CacheDecorator(new AlterDecorator(new AnnotatedClassDiscovery('views', $type), 'views_plugins_' . $type), 'views:' . $type, 'views_info');
    $this->factory = new DefaultFactory($this);
    $this->coreModules = views_core_modules();
    $this->defaults += array(
      'parent' => 'parent',
      'plugin_type' => $type,
    );
  }

  /**
   * Overrides Drupal\Component\Plugin\PluginManagerBase::processDefinition().
   */
  public function processDefinition(&$definition, $plugin_id) {
    parent::processDefinition($definition, $plugin_id);
    $module = isset($definition['module']) ? $definition['module'] : 'views';

    // If this module is a core module, use views as the module directory.
    $module_dir = in_array($module, $this->coreModules) ? 'views' : $module;
    $theme_path = drupal_get_path('module', $module_dir);

    // Setup automatic path/file finding for theme registration.
    if ($module_dir == 'views') {
      $theme_path .= '/theme';
      $theme_file = 'theme.inc';
    }
    else {
      $theme_file = "{$module}.views.inc";
    }
    $definition += array(
      'module' => $module_dir,
      'theme path' => $theme_path,
      'theme file' => $theme_file,
    );
  }

}

Members

Namesort descending Modifiers Type Description Overrides
DiscoveryTrait::doGetDefinition protected function Gets a specific plugin definition.
DiscoveryTrait::hasDefinition public function
PluginManager::$coreModules protected property A list of Drupal core modules.
PluginManager::processDefinition public function Overrides Drupal\Component\Plugin\PluginManagerBase::processDefinition().
PluginManager::__construct public function Constructs a PluginManager object.
PluginManagerBase::$discovery protected property The object that discovers plugins managed by this manager.
PluginManagerBase::$factory protected property The object that instantiates plugins managed by this manager.
PluginManagerBase::$mapper protected property The object that returns the preconfigured plugin instance appropriate for a particular runtime condition.
PluginManagerBase::createInstance public function Creates a pre-configured instance of a plugin. Overrides FactoryInterface::createInstance 12
PluginManagerBase::getDefinition public function Gets a specific plugin definition. Overrides DiscoveryTrait::getDefinition
PluginManagerBase::getDefinitions public function Gets the definition of all plugins for this type. Overrides DiscoveryTrait::getDefinitions
PluginManagerBase::getDiscovery protected function Gets the plugin discovery. 1
PluginManagerBase::getFactory protected function Gets the plugin factory. 1
PluginManagerBase::getInstance public function Gets a preconfigured instance of a plugin. Overrides MapperInterface::getInstance 7
PluginManagerBase::handlePluginNotFound protected function Allows plugin managers to specify custom behavior if a plugin is not found. 1