ControllerBase
abstract class ControllerBase implements ContainerInjectionInterface (View source)
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.
Traits
Wrapper methods for the logger factory service.
Provides a trait for the messenger service.
Wrapper methods for the Redirect Destination.
Wrapper methods for \Drupal\Core\StringTranslation\TranslationInterface.
Properties
| protected LoggerChannelFactoryInterface | $loggerFactory | The logger channel factory service. |
from LoggerChannelTrait |
| protected MessengerInterface | $messenger | The messenger. |
from MessengerTrait |
| protected RedirectDestinationInterface | $redirectDestination | The redirect destination service. |
from RedirectDestinationTrait |
| protected TranslationInterface | $stringTranslation | The string translation service. |
from StringTranslationTrait |
| protected EntityTypeManagerInterface | $entityTypeManager | The entity type manager. |
|
| protected EntityFormBuilderInterface | $entityFormBuilder | The entity form builder. |
|
| protected LanguageManagerInterface | $languageManager | The language manager. |
|
| protected ConfigFactoryInterface | $configFactory | The configuration factory. |
|
| protected KeyValueStoreInterface | $keyValue | The key-value storage. |
|
| protected AccountInterface | $currentUser | The current user service. |
|
| protected StateInterface | $stateService | The state service. |
|
| protected ModuleHandlerInterface | $moduleHandler | The module handler. |
|
| protected FormBuilderInterface | $formBuilder | The form builder. |
Methods
Gets the logger for a specific channel.
Prepares a 'destination' URL query parameter for use with \Drupal\Core\Url.
Returns the redirect destination service.
Sets the redirect destination service.
Translates a string to the current language or to a given language.
Formats a string containing a count of items.
Returns the number of plurals supported by a given language.
Gets the string translation service.
Instantiates a new instance of this class.
Retrieves the entity type manager.
Retrieves the entity form builder.
Returns the requested cache bin.
Returns a key/value storage collection.
Returns the state storage service.
Returns the module handler.
Returns the form builder service.
Returns the current user.
Returns the language manager service.
Returns a redirect response object for the specified route.
Details
protected LoggerInterface
getLogger(string $channel)
Gets the logger for a specific channel.
$this
setLoggerFactory(LoggerChannelFactoryInterface $logger_factory)
Injects the logger channel factory.
setMessenger(MessengerInterface $messenger)
Sets the messenger.
MessengerInterface
messenger()
Gets the messenger.
protected array
getDestinationArray()
Prepares a 'destination' URL query parameter for use with \Drupal\Core\Url.
protected RedirectDestinationInterface
getRedirectDestination()
Returns the redirect destination service.
$this
setRedirectDestination(RedirectDestinationInterface $redirect_destination)
Sets the redirect destination service.
protected TranslatableMarkup
t(string $string, array $args = [], array $options = [])
Translates a string to the current language or to a given language.
See \Drupal\Core\StringTranslation\TranslatableMarkup::__construct() for important security information and usage guidelines.
In order for strings to be localized, make them available in one of the ways supported by the
protected
formatPlural($count, $singular, $plural, array $args = [], array $options = [])
Formats a string containing a count of items.
protected
getNumberOfPlurals($langcode = NULL)
Returns the number of plurals supported by a given language.
protected TranslationInterface
getStringTranslation()
Gets the string translation service.
$this
setStringTranslation(TranslationInterface $translation)
Sets the string translation service to use.
static
create(ContainerInterface $container)
Instantiates a new instance of this class.
This is a factory method that returns a new instance of this class. The factory should pass any needed dependencies into the constructor of this class, but not the container itself. Every call to this method must return a new instance of this class; that is, it may not implement a singleton.
protected EntityTypeManagerInterface
entityTypeManager()
Retrieves the entity type manager.
protected EntityFormBuilderInterface
entityFormBuilder()
Retrieves the entity form builder.
protected CacheBackendInterface
cache(string $bin = 'default')
Returns the requested cache bin.
protected Config
config(string $name)
Retrieves a configuration object.
This is the main entry point to the configuration API. Calling
protected KeyValueStoreInterface
keyValue(string $collection)
Returns a key/value storage collection.
protected StateInterface
state()
Returns the state storage service.
Use this to store machine-generated data, local to a specific environment that does not need deploying and does not need human editing; for example, the last time cron was run. Data which needs to be edited by humans and needs to be the same across development, production, etc. environments (for example, the system maintenance message) should use config() instead.
protected ModuleHandlerInterface
moduleHandler()
Returns the module handler.
protected FormBuilderInterface
formBuilder()
Returns the form builder service.
protected AccountInterface
currentUser()
Returns the current user.
protected LanguageManagerInterface
languageManager()
Returns the language manager service.
protected RedirectResponse
redirect(string $route_name, array $route_parameters = [], array $options = [], int $status = 302)
Returns a redirect response object for the specified route.