Service
20 sites
Security covered
Drupal 8β11
This module provides convenient traits and base classes to simplify dependency injection in Drupal, making it easier to manage and inject services into your custom code. It offers pre-built solutions that streamline common injection patterns.
πΊπ¦
This module is maintained by Ukrainian developers.Please consider supporting Ukraine in a fight for their freedom and safety of Europe.
The module provides traits and extended base classes to make dependency injections easier.
Post-Installation
Example of using this module in a block class:
namespace Drupal\hello_world\Plugin\Block;
use Drupal\Core\Block\Attribute\Block;
use Drupal\Core\StringTranslation\TranslatableMarkup;
use Drupal\service\BlockBase;
use Drupal\service\ConfigFactoryTrait;
use Drupal\service\EntityTypeManagerTrait;
use Drupal\service\UserDataTrait;
/**
* Provides a 'Hello World' block.
*/
#[Block(
id: "hello_world_block",
admin_label: new TranslatableMarkup("Hello World"),
)]
class HelloWorldBlock extends BlockBase {
use ConfigFactoryTrait;
use EntityTypeManagerTrait;
use UserDataTrait;
/**
* {@inheritdoc}
*/
protected function creation(): static {
return $this
->addConfigFactory()
->addEntityTypeManager()
->addUserData();
}
/**
* {@inheritdoc}
*/
public function build(): array {
$ids = ($storage = $this->entityTypeManager()->getStorage('user'))
->getQuery()
->accessCheck()
->condition('uid', 0, '>')
->sort('created', 'DESC')
->range(0, $this->configFactory()->get('hello_world')->get('limit') ?? 10)
->execute();
if ($ids) {
$phrase = $this->t('hello, world!');
}
return [
'#theme' => 'item_list',
'#title' => $this->t('Greetings to all users!'),
'#items' => array_map(
fn(int $id): TranslatableMarkup => $this->t('@username says: @phrase', [
'@username' => $storage->load($id)->getDisplayName(),
'@phrase' => $this->userData()->get('hello_world', $id, 'phrase') ?? $phrase,
]),
$ids,
),
];
}
}
Additional Requirements
- PHP 8.3 or higher (for version 3.0.0)
- PHP 8.2 or higher (for version from 1.0.0 to 1.0.3 and 2.0.0 or newer)
- PHP 5.5 or higher (for version 1.0.4 or newer)
Depends on
Dependencies of the latest stable release
No dependencies recorded for this project.
Required by
6 tracked projects depend on this one
- Config Export to PHP array 9 sites
- Idle 7 sites
- StandWithUkraine πΊπ¦ 7 sites
- Ultimate Cron Summary 6 sites
- LaMetric Time 2 sites
- Happy Valentine's Day! 2 sites
Activity
Release Timeline
Releases
| Version | Type | Core | Notes | Release date | |
|---|---|---|---|---|---|
| 3.0.1 | Stable | 8β11 | Needs PHP 8.3 or higher. | Jun 18, 2025 | |
| 2.1.1 | Stable | 8β11 | Needs PHP 8.2 or higher. | Jun 18, 2025 | |
| 1.1.1 | Stable | 8β11 | Needs PHP 5.5 or higher. | Jun 18, 2025 | |
| 3.0.0 | Stable | 8β11 | Needs PHP 8.3 or higher. | Dec 20, 2024 | |
| 2.1.0 | Stable | 8β11 | Needs PHP 8.2 or higher. | Dec 20, 2024 | |
| 1.1.0 | Stable | 8β11 | Needs PHP 5.5 or higher. | Dec 20, 2024 | |
| 1.1.x-dev | Dev | 8β11 | Nov 18, 2024 | ||
| 3.0.x-dev | Dev | 8β11 | Nov 11, 2024 | ||
| 2.1.x-dev | Dev | 8β11 | Sep 30, 2024 | ||
| 2.0.1 | Stable | 8β11 | Needs PHP 8.2 or higher. | Sep 30, 2024 | |
| 1.0.5 | Stable | 8β11 | Needs PHP 5.5 or higher. | Sep 30, 2024 |