You are here

class ExposedFormCache in Drupal 10

Same name and namespace in other branches
  1. 8 core/modules/views/src/ExposedFormCache.php \Drupal\views\ExposedFormCache
  2. 9 core/modules/views/src/ExposedFormCache.php \Drupal\views\ExposedFormCache

Caches exposed forms, as they are heavy to generate.

Hierarchy

Expanded class hierarchy of ExposedFormCache

See also

\Drupal\views\Form\ViewsExposedForm

1 file declares its use of ExposedFormCache
ViewsExposedForm.php in core/modules/views/src/Form/ViewsExposedForm.php
1 string reference to 'ExposedFormCache'
views.services.yml in core/modules/views/views.services.yml
core/modules/views/views.services.yml
1 service uses ExposedFormCache
views.exposed_form_cache in core/modules/views/views.services.yml
Drupal\views\ExposedFormCache

File

core/modules/views/src/ExposedFormCache.php, line 10

Namespace

Drupal\views
View source
class ExposedFormCache {

  /**
   * Stores the exposed form data.
   *
   * @var array
   */
  protected $cache = [];

  /**
   * Save the Views exposed form for later use.
   *
   * @param string $view_id
   *   The views ID.
   * @param string $display_id
   *   The current view display name.
   * @param array $form_output
   *   The form structure. Only needed when inserting the value.
   */
  public function setForm($view_id, $display_id, array $form_output) {

    // Save the form output.
    $views_exposed[$view_id][$display_id] = $form_output;
  }

  /**
   * Retrieves the views exposed form from cache.
   *
   * @param string $view_id
   *   The views ID.
   * @param string $display_id
   *   The current view display name.
   *
   * @return array|bool
   *   The form structure, if any, otherwise FALSE.
   */
  public function getForm($view_id, $display_id) {

    // Return the form output, if any.
    if (empty($this->cache[$view_id][$display_id])) {
      return FALSE;
    }
    else {
      return $this->cache[$view_id][$display_id];
    }
  }

  /**
   * Rests the form cache.
   */
  public function reset() {
    $this->cache = [];
  }

}

Members