TestController.php in Drupal 9
Same filename in this branch
- 9 core/tests/Drupal/Tests/Core/Controller/TestController.php
- 9 core/modules/system/tests/modules/container_rebuild_test/src/TestController.php
- 9 core/modules/views/tests/modules/views_test_modal/src/Controller/TestController.php
- 9 core/modules/system/tests/modules/httpkernel_test/src/Controller/TestController.php
- 9 core/modules/system/tests/modules/off_canvas_test/src/Controller/TestController.php
- 9 core/modules/system/tests/modules/csrf_race_test/src/Controller/TestController.php
- 9 core/modules/system/tests/modules/token_test/src/Controller/TestController.php
- 9 core/modules/system/tests/modules/conneg_test/src/Controller/TestController.php
- 9 core/modules/system/tests/modules/js_webassert_test/src/Controller/TestController.php
- 9 core/modules/system/tests/modules/csrf_test/src/Controller/TestController.php
- 9 core/modules/system/tests/modules/dialog_renderer_test/src/Controller/TestController.php
- 9 core/modules/contextual/tests/modules/contextual_test/src/Controller/TestController.php
Same filename and directory in other branches
Namespace
Drupal\conneg_test\ControllerFile
core/modules/system/tests/modules/conneg_test/src/Controller/TestController.phpView source
<?php
namespace Drupal\conneg_test\Controller;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
/**
* Test controller for content negotiation tests.
*/
class TestController {
/**
* Returns a json response.
*
* @return \Symfony\Component\HttpFoundation\JsonResponse
*/
public function simple() {
return new JsonResponse([
'some' => 'data',
]);
}
/**
* Returns a simple render array.
*
* @return array
*/
public function html() {
return [
'#markup' => 'here',
];
}
/**
* Returns different responses dependening on the request format.
*
* @param \Symfony\Component\HttpFoundation\Request $request
* The request
*
* @return \Symfony\Component\HttpFoundation\Response
* The response.
*/
public function format(Request $request) {
switch ($request
->getRequestFormat()) {
case 'json':
return new JsonResponse([
'some' => 'data',
]);
case 'xml':
return new Response('<xml></xml>', Response::HTTP_OK, [
'Content-Type' => 'application/xml',
]);
default:
return new Response($request
->getRequestFormat());
}
}
/**
* Returns a render array depending on some passed in value.
*
* @param string $plugin_id
* The plugin ID.
*
* @return array
* The render array
*/
public function variable($plugin_id) {
return [
'#markup' => $plugin_id,
];
}
}
Classes
Name | Description |
---|---|
TestController | Test controller for content negotiation tests. |