session_exists_cache_context_test.module

Same filename in other branches
  1. 8.9.x core/modules/system/tests/modules/session_exists_cache_context_test/session_exists_cache_context_test.module
  2. 10 core/modules/system/tests/modules/session_exists_cache_context_test/session_exists_cache_context_test.module
  3. 11.x core/modules/system/tests/modules/session_exists_cache_context_test/session_exists_cache_context_test.module

Test module.

File

core/modules/system/tests/modules/session_exists_cache_context_test/session_exists_cache_context_test.module

View source
<?php


/**
 * @file
 * Test module.
 */

/**
 * Implements hook_page_top().
 */
function session_exists_cache_context_test_page_top(array &$page_top) {
    // Ensure this hook is invoked on every page load.
    $page_top['#cache']['max-age'] = 0;
    $request = \Drupal::request();
    $session_exists = \Drupal::service('session_configuration')->hasSession($request);
    $page_top['session_exists_cache_context_test'] = [
        'label' => [
            '#markup' => '<p>' . ($session_exists ? 'Session exists!' : 'Session does not exist!') . '</p>',
        ],
        'cache_context_value' => [
            '#markup' => '<code>[session.exists]=' . \Drupal::service('cache_context.session.exists')->getContext() . '</code>',
        ],
    ];
    $request = \Drupal::request();
    if ($request->query
        ->get('trigger_session')) {
        $request->getSession()
            ->set('session_exists_cache_context_test', TRUE);
    }
}

Functions

Title Deprecated Summary
session_exists_cache_context_test_page_top Implements hook_page_top().

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