Skip to content
Snippets Groups Projects

Use OOP hooks

Open Mohit Aghera requested to merge issue/redirect_metrics-3497621:3497621-oop-hooks into 2.x
4 files
+ 54
14
Compare changes
  • Side-by-side
  • Inline
Files
4
+ 42
0
<?php
declare(strict_types=1);
namespace Drupal\redirect_metrics\Hook;
use Drupal\Core\Entity\EntityTypeInterface;
use Drupal\Core\Hook\Attribute\Hook;
use Drupal\redirect\Entity\Redirect;
use Drupal\redirect_metrics\RedirectMetricsFieldDefinitions;
/**
* Hook implementations for the redirect_metrics module.
*/
class RedirectMetricsHooks {
/**
* Implements hook_entity_base_field_info().
*/
#[Hook('entity_base_field_info')]
public function entityBaseFieldInfo(EntityTypeInterface $entityType): array {
if ($entityType->id() !== 'redirect') {
return [];
}
return RedirectMetricsFieldDefinitions::getAll();
}
/**
* Implements hook_ENTITY_TYPE_presave().
*/
#[Hook('redirect_presave')]
public function redirectPresave(Redirect $redirect): void {
// Initialise the default metrics when a new redirect is created.
if ($redirect->isNew()) {
// Set the access count if it's empty.
if ($redirect->access_count->isEmpty()) {
$redirect->access_count->value = 0;
}
}
}
}
Loading