<?php
namespace App\Flux;
use App\Utils\AccountUtils;
use Doctrine\Common\Persistence\Event\LifecycleEventArgs;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\MappedSuperclass
* @ORM\HasLifecycleCallbacks
*/
abstract class AccountableObject
{
/**
* @ORM\PostPersist
*
* @param LifecycleEventArgs $event
*/
public function postPersist(LifecycleEventArgs $event): void
{
$object = $event->getEntity();
$accountUtils = new AccountUtils($event->getEntityManager());
// Create account related to entity if needed !
$accountUtils->createAccountForEntity($object);
}
}