Utility base class for thin controllers.
Controllers that use this base class have access to a number of utility methods and to the Container, which can greatly reduce boilerplate dependency handling code. However, it also makes the class considerably more difficult to unit test. Therefore this base class should only be used by controller classes that contain only trivial glue code. Controllers that contain sufficiently complex logic that it's worth testing should not use this base class but use ContainerInjectionInterface instead, or even better be refactored to be trivial glue code.
The services exposed here are those that it is reasonable for a well-behaved controller to leverage. A controller that needs other services may need to be refactored into a thin controller and a dependent unit-testable service.
Hierarchy
- class \Drupal\Core\Controller\ControllerBase implements ContainerInjectionInterface uses LoggerChannelTrait, LinkGeneratorTrait, RedirectDestinationTrait, UrlGeneratorTrait, StringTranslationTrait
See also
\Drupal\Core\DependencyInjection\ContainerInjectionInterface
Related topics
- Routing API
- Route page requests to code based on URLs.
File
- core/lib/Drupal/Core/Controller/ControllerBase.php, line 34
Namespace
Drupal\Core\Controller
Members
Name | Modifiers | Type | Description |
---|---|---|---|
ControllerBase::$configFactory | protected | property | The configuration factory. |
ControllerBase::$currentUser | protected | property | The current user service. |
ControllerBase::$entityFormBuilder | protected | property | The entity form builder. |
ControllerBase::$entityManager | protected | property | The entity manager. |
ControllerBase::$entityTypeManager | protected | property | The entity type manager. |
ControllerBase::$formBuilder | protected | property | The form builder. |
ControllerBase::$keyValue | protected | property | The key-value storage. |
ControllerBase::$languageManager | protected | property | The language manager. |
ControllerBase::$moduleHandler | protected | property | The module handler. |
ControllerBase::$stateService | protected | property | The state service. |
ControllerBase::cache | protected | function | Returns the requested cache bin. |
ControllerBase::config | protected | function | Retrieves a configuration object. |
ControllerBase::container | private | function | Returns the service container. |
ControllerBase::create | public static | function | Instantiates a new instance of this class. Overrides ContainerInjectionInterface::create |
ControllerBase::currentUser | protected | function | Returns the current user. |
ControllerBase::entityFormBuilder | protected | function | Retrieves the entity form builder. |
ControllerBase::entityManager Deprecated | protected | function | Retrieves the entity manager service. |
ControllerBase::entityTypeManager | protected | function | Retrieves the entity type manager. |
ControllerBase::formBuilder | protected | function | Returns the form builder service. |
ControllerBase::keyValue | protected | function | Returns a key/value storage collection. |
ControllerBase::languageManager | protected | function | Returns the language manager service. |
ControllerBase::moduleHandler | protected | function | Returns the module handler. |
ControllerBase::state | protected | function | Returns the state storage service. |
LinkGeneratorTrait::$linkGenerator | protected | property | The link generator. |
LinkGeneratorTrait::getLinkGenerator | protected | function | Returns the link generator. |
LinkGeneratorTrait::l Deprecated | protected | function | Renders a link to a route given a route name and its parameters. |
LinkGeneratorTrait::setLinkGenerator | public | function | Sets the link generator service. |
LoggerChannelTrait::$loggerFactory | protected | property | The logger channel factory service. |
LoggerChannelTrait::getLogger | protected | function | Gets the logger for a specific channel. |
LoggerChannelTrait::setLoggerFactory | public | function | Injects the logger channel factory. |
RedirectDestinationTrait::$redirectDestination | protected | property | The redirect destination service. |
RedirectDestinationTrait::getDestinationArray | protected | function | Prepares a 'destination' URL query parameter for use with \Drupal\Core\Url. |
RedirectDestinationTrait::getRedirectDestination | protected | function | Returns the redirect destination service. |
RedirectDestinationTrait::setRedirectDestination | public | function | Sets the redirect destination service. |
StringTranslationTrait::$stringTranslation | protected | property | The string translation service. |
StringTranslationTrait::formatPlural | protected | function | Formats a string containing a count of items. |
StringTranslationTrait::getNumberOfPlurals | protected | function | Returns the number of plurals supported by a given language. |
StringTranslationTrait::getStringTranslation | protected | function | Gets the string translation service. |
StringTranslationTrait::setStringTranslation | public | function | Sets the string translation service to use. |
StringTranslationTrait::t | protected | function | Translates a string to the current language or to a given language. |
UrlGeneratorTrait::$urlGenerator | protected | property | The url generator. |
UrlGeneratorTrait::getUrlGenerator | protected | function | Returns the URL generator service. |
UrlGeneratorTrait::redirect | protected | function | Returns a redirect response object for the specified route. |
UrlGeneratorTrait::setUrlGenerator | public | function | Sets the URL generator service. |
UrlGeneratorTrait::url Deprecated | protected | function | Generates a URL or path for a specific route based on the given parameters. |
Please login to continue.