ExposedFormCache.php

Same filename in other branches
  1. 9 core/modules/views/src/ExposedFormCache.php
  2. 8.9.x core/modules/views/src/ExposedFormCache.php
  3. 10 core/modules/views/src/ExposedFormCache.php

Namespace

Drupal\views

File

core/modules/views/src/ExposedFormCache.php

View source
<?php

namespace Drupal\views;


/**
 * Caches exposed forms, as they are heavy to generate.
 *
 * @see \Drupal\views\Form\ViewsExposedForm
 */
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 = [];
    }

}

Classes

Title Deprecated Summary
ExposedFormCache Caches exposed forms, as they are heavy to generate.

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