PluginWithFormsTrait.php

Same filename and directory in other branches
  1. 9 core/lib/Drupal/Core/Plugin/PluginWithFormsTrait.php
  2. 8.9.x core/lib/Drupal/Core/Plugin/PluginWithFormsTrait.php
  3. 10 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.