jun 3
This commit is contained in:
29
src/EntityListener/ConferenceEntityListener.php
Normal file
29
src/EntityListener/ConferenceEntityListener.php
Normal file
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
namespace App\EntityListener;
|
||||
|
||||
use App\Entity\Conference;
|
||||
use Doctrine\Bundle\DoctrineBundle\Attribute\AsEntityListener;
|
||||
use Doctrine\ORM\Events;
|
||||
use Doctrine\Persistence\Event\LifecycleEventArgs;
|
||||
use Symfony\Component\String\Slugger\SluggerInterface;
|
||||
|
||||
#[AsEntityListener(event: Events::prePersist, entity: Conference::class)]
|
||||
#[AsEntityListener(event: Events::preUpdate, entity: Conference::class)]
|
||||
class ConferenceEntityListener
|
||||
{
|
||||
public function __construct(
|
||||
private SluggerInterface $slugger,
|
||||
) {
|
||||
}
|
||||
|
||||
public function prePersist(Conference $conference, LifecycleEventArgs $event)
|
||||
{
|
||||
$conference->computeSlug($this->slugger);
|
||||
}
|
||||
|
||||
public function preUpdate(Conference $conference, LifecycleEventArgs $event)
|
||||
{
|
||||
$conference->computeSlug($this->slugger);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user