TestControllers.php

Same filename in this branch
  1. 10 core/modules/system/tests/modules/paramconverter_test/src/TestControllers.php
  2. 10 core/modules/system/tests/modules/router_test_directory/src/TestControllers.php
Same filename and directory in other branches
  1. 9 core/modules/system/tests/modules/paramconverter_test/src/TestControllers.php
  2. 9 core/modules/system/tests/modules/menu_test/src/TestControllers.php
  3. 9 core/modules/system/tests/modules/router_test_directory/src/TestControllers.php
  4. 8.9.x core/modules/system/tests/modules/paramconverter_test/src/TestControllers.php
  5. 8.9.x core/modules/system/tests/modules/menu_test/src/TestControllers.php
  6. 8.9.x core/modules/system/tests/modules/router_test_directory/src/TestControllers.php
  7. 11.x core/modules/system/tests/modules/paramconverter_test/src/TestControllers.php
  8. 11.x core/modules/system/tests/modules/menu_test/src/TestControllers.php
  9. 11.x core/modules/system/tests/modules/router_test_directory/src/TestControllers.php

Namespace

Drupal\menu_test

File

core/modules/system/tests/modules/menu_test/src/TestControllers.php

View source
<?php

namespace Drupal\menu_test;

use Drupal\Component\Render\FormattableMarkup;
use Symfony\Component\HttpFoundation\Request;

/**
 * Controllers for testing the menu integration routing system.
 */
class TestControllers {
    
    /**
     * Returns page to be used as a login path.
     */
    public function testLogin() {
        return [
            '#markup' => 'This is TestControllers::testLogin.',
        ];
    }
    
    /**
     * Prints out test data.
     */
    public function test1() {
        return [
            '#markup' => 'test1',
        ];
    }
    
    /**
     * Prints out test data.
     */
    public function test2() {
        return [
            '#markup' => 'test2',
        ];
    }
    
    /**
     * Prints out test data.
     *
     * @param \Symfony\Component\HttpFoundation\Request $request
     *   The request.
     *
     * @return array
     *   Render array.
     */
    public function testSession(Request $request) {
        $counter = $request->getSession()
            ->get('menu_test', 0);
        $request->getSession()
            ->set('menu_test', ++$counter);
        return [
            '#markup' => new FormattableMarkup('Session menu_test is @count', [
                '@count' => $counter,
            ]),
        ];
    }
    
    /**
     * Prints out test data.
     */
    public function testDerived() {
        return [
            '#markup' => 'testDerived',
        ];
    }
    
    /**
     * Prints out test data.
     *
     * @param string|null $placeholder
     *   A placeholder for the return string.
     *
     * @return string
     *   The string for this route.
     */
    public function testDefaults($placeholder = NULL) {
        if ($placeholder) {
            return [
                '#markup' => new FormattableMarkup("Sometimes there is a placeholder: '@placeholder'.", [
                    '@placeholder' => $placeholder,
                ]),
            ];
        }
        else {
            return [
                '#markup' => 'Sometimes there is no placeholder.',
            ];
        }
    }
    
    /**
     * Prints out test data with contextual links.
     */
    public function testContextual() {
        return [
            '#markup' => 'testContextual',
            'stuff' => [
                '#type' => 'contextual_links',
                '#contextual_links' => [
                    'menu_test_menu' => [
                        'route_parameters' => [
                            'bar' => 1,
                        ],
                    ],
                ],
            ],
        ];
    }

}

Classes

Title Deprecated Summary
TestControllers Controllers for testing the menu integration routing system.

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