PluginWithFormsTrait.php

Same filename and directory in other branches
  1. 11.x core/lib/Drupal/Core/Plugin/PluginWithFormsTrait.php
  2. 10 core/lib/Drupal/Core/Plugin/PluginWithFormsTrait.php
  3. 8.9.x core/lib/Drupal/Core/Plugin/PluginWithFormsTrait.php

Namespace

Drupal\Core\Plugin

File

core/lib/Drupal/Core/Plugin/PluginWithFormsTrait.php

View source
<?php

namespace Drupal\Core\Plugin;


/**
 * Provides a trait with typical behavior for plugins which have forms.
 */
trait PluginWithFormsTrait {
  
  /**
   * Implements \Drupal\Core\Plugin\PluginWithFormsInterface::getFormClass().
   */
  public function getFormClass($operation) {
    if (isset($this->getPluginDefinition()['forms'][$operation])) {
      return $this->getPluginDefinition()['forms'][$operation];
    }
    elseif ($operation === 'configure' && $this instanceof PluginFormInterface) {
      return static::class;
    }
  }
  
  /**
   * Implements \Drupal\Core\Plugin\PluginWithFormsInterface::hasFormClass().
   */
  public function hasFormClass($operation) {
    return !empty($this->getFormClass($operation));
  }

}

Traits

Title Deprecated Summary
PluginWithFormsTrait Provides a trait with typical behavior for plugins which have forms.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.