class ToolbarHandler
Same name in other branches
- 4.x src/ToolbarHandler.php \Drupal\devel\ToolbarHandler
Toolbar integration handler.
Hierarchy
- class \Drupal\devel\ToolbarHandler implements \Drupal\Core\DependencyInjection\ContainerInjectionInterface uses \Drupal\Core\StringTranslation\StringTranslationTrait
Expanded class hierarchy of ToolbarHandler
1 file declares its use of ToolbarHandler
- devel.module in ./
devel.module - This module holds functions useful for Drupal development.
File
-
src/
ToolbarHandler.php, line 14
Namespace
Drupal\develView source
class ToolbarHandler implements ContainerInjectionInterface {
use StringTranslationTrait;
/**
* The current user.
*/
protected AccountProxyInterface $account;
/**
* {@inheritdoc}
*/
public static function create(ContainerInterface $container) : self {
$instance = new self();
$instance->account = $container->get('current_user');
$instance->stringTranslation = $container->get('string_translation');
return $instance;
}
/**
* Hook bridge.
*
* @return array
* The devel toolbar items render array.
*
* @see hook_toolbar()
*/
public function toolbar() {
$items['devel'] = [
'#cache' => [
'contexts' => [
'user.permissions',
],
],
];
if ($this->account
->hasPermission('access devel information')) {
$items['devel'] += [
'#type' => 'toolbar_item',
'#weight' => 999,
'tab' => [
'#type' => 'link',
'#title' => $this->t('Devel'),
'#url' => Url::fromRoute('devel.admin_settings'),
'#attributes' => [
'title' => $this->t('Development menu'),
'class' => [
'toolbar-icon',
'toolbar-icon-devel',
],
],
],
'tray' => [
'#heading' => $this->t('Development menu'),
'devel_menu' => [
// Currently devel menu is uncacheable, so instead of poisoning the
// entire page cache we use a lazy builder.
// @see \Drupal\devel\Plugin\Menu\DestinationMenuLink
// @see \Drupal\devel\Plugin\Menu\RouteDetailMenuItem
'#lazy_builder' => [
'devel.lazy_builders:renderMenu',
[],
],
// Force the creation of the placeholder instead of rely on the
// automatical placeholdering or otherwise the page results
// uncacheable when max-age 0 is bubbled up.
'#create_placeholder' => TRUE,
],
'configuration' => [
'#type' => 'link',
'#title' => $this->t('Configure'),
'#url' => Url::fromRoute('devel.toolbar.settings_form'),
'#options' => [
'attributes' => [
'class' => [
'edit-devel-toolbar',
],
],
],
],
],
'#attached' => [
'library' => 'devel/devel-toolbar',
],
];
}
return $items;
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title | Overrides |
---|---|---|---|---|---|
StringTranslationTrait::$stringTranslation | protected | property | The string translation service. | 3 | |
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. | 2 | |
StringTranslationTrait::t | protected | function | Translates a string to the current language or to a given language. | ||
ToolbarHandler::$account | protected | property | The current user. | ||
ToolbarHandler::create | public static | function | Instantiates a new instance of this class. | Overrides ContainerInjectionInterface::create | |
ToolbarHandler::toolbar | public | function | Hook bridge. |