Files
assets
bin
config
migrations
public
src
Controller
Entity
EntityListener
BlogEntityListener.php
Form
Repository
Security
Kernel.php
templates
translations
.env
.gitignore
README.md
bootstrap.js
composer.json
composer.lock
controllers.json
docker-compose.override.yml
docker-compose.yml
package.json
symfony.lock
webpack.config.js
yarn.lock
Spookie/src/EntityListener/BlogEntityListener.php
2021-06-14 19:20:55 +02:00

43 lines
928 B
PHP

<?php
namespace App\EntityListener;
use App\Entity\Blog;
use Doctrine\ORM\Event\LifecycleEventArgs;
use JetBrains\PhpStorm\NoReturn;
use Symfony\Component\String\Slugger\SluggerInterface;
/**
* Class BlogEntityListener
* @package App\EntityListener
*/
class BlogEntityListener
{
private SluggerInterface $slugger;
public function __construct(SluggerInterface $slugger)
{
$this->slugger = $slugger;
}
/**
* @param \App\Entity\Blog $blog
* @param \Doctrine\ORM\Event\LifecycleEventArgs $title
*/
#[NoReturn]
public function prePersist(Blog $blog, LifecycleEventArgs $title)
{
$blog->computeSlug($this->slugger);
}
/**
* @param \App\Entity\Blog $blog
* @param \Doctrine\ORM\Event\LifecycleEventArgs $title
*/
#[NoReturn]
public function preUpdate(Blog $blog, LifecycleEventArgs $title)
{
//dd($title);
$blog->computeSlug($this->slugger);
}
}