TestController.php in Drupal 8
Same filename in this branch
- 8 core/tests/Drupal/Tests/Core/Controller/TestController.php
- 8 core/modules/views/tests/modules/views_test_modal/src/Controller/TestController.php
- 8 core/modules/system/tests/modules/httpkernel_test/src/Controller/TestController.php
- 8 core/modules/system/tests/modules/off_canvas_test/src/Controller/TestController.php
- 8 core/modules/system/tests/modules/csrf_race_test/src/Controller/TestController.php
- 8 core/modules/system/tests/modules/token_test/src/Controller/TestController.php
- 8 core/modules/system/tests/modules/conneg_test/src/Controller/TestController.php
- 8 core/modules/system/tests/modules/csrf_test/src/Controller/TestController.php
- 8 core/modules/system/tests/modules/dialog_renderer_test/src/Controller/TestController.php
- 8 core/modules/contextual/tests/modules/contextual_test/src/Controller/TestController.php
Same filename and directory in other branches
Namespace
Drupal\token_test\ControllerFile
core/modules/system/tests/modules/token_test/src/Controller/TestController.phpView source
<?php
namespace Drupal\token_test\Controller;
use Drupal\Core\Controller\ControllerBase;
use Drupal\Core\Render\BubbleableMetadata;
use Drupal\Core\Utility\Token;
use Drupal\node\NodeInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
/**
* Provides a test controller for token replacement.
*/
class TestController extends ControllerBase {
/**
* The token replacement system.
*
* @var \Drupal\Core\Utility\Token
*/
protected $token;
/**
* Constructs a new TestController instance.
*
* @param \Drupal\Core\Utility\Token $token
* The token replacement system.
*/
public function __construct(Token $token) {
$this->token = $token;
}
/**
* {@inheritdoc}
*/
public static function create(ContainerInterface $container) {
return new static($container
->get('token'));
}
/**
* Provides a token replacement with a node as well as the current user.
*
* This controller passes an explicit bubbleable metadata object to
* $this->token->replace(), and applies the collected metadata to the render
* array being built.
*
* @param \Drupal\node\NodeInterface $node
* The node.
*
* @return array
* The render array.
*/
public function tokenReplace(NodeInterface $node) {
$bubbleable_metadata = new BubbleableMetadata();
$build['#markup'] = $this->token
->replace('Tokens: [node:nid] [current-user:uid]', [
'node' => $node,
], [], $bubbleable_metadata);
$bubbleable_metadata
->applyTo($build);
return $build;
}
/**
* Provides a token replacement with a node as well as the current user.
*
* This controller is for testing the token service's fallback behavior of
* applying collected metadata to the currently active render context when an
* explicit bubbleable metadata object isn't passed in.
*
* @param \Drupal\node\NodeInterface $node
* The node.
*
* @return array
* The render array.
*/
public function tokenReplaceWithoutPassedBubbleableMetadata(NodeInterface $node) {
$build['#markup'] = $this->token
->replace('Tokens: [node:nid] [current-user:uid]', [
'node' => $node,
], []);
return $build;
}
}
Classes
Name | Description |
---|---|
TestController | Provides a test controller for token replacement. |