Commit 37ab7a98 authored by Jean-Philippe Metivier's avatar Jean-Philippe Metivier
Browse files

Trait et Interface

parent b9d54311
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
<?php

namespace UnicaenEvenement\Entity\Db;

use Doctrine\Common\Collections\Collection;

interface HasEvenementsInterface {

    public function init() : void;
    public function hasEvenement(Evenement $evenement): bool;
    public function addEvenement(Evenement $evenement): void;
    public function removeEvenement(Evenement $evenement): void;

}
 No newline at end of file
+35 −0
Original line number Diff line number Diff line
<?php

namespace UnicaenEvenement\Entity\Db;

use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;

trait HasEvenementsTrait {

    public Collection $evenements;

    public function init() : void
    {
        $this->evenements = new ArrayCollection();
    }

    public function hasEvenement(Evenement $evenement): bool
    {
        return $this->evenements->contains($evenement);

    }
    public function addEvenement(Evenement $evenement): void
    {
        if (!$this->hasEvenement($evenement)) {
            $this->evenements->add($evenement);
        }
    }

    public function removeEvenement(Evenement $evenement): void
    {
        if ($this->hasEvenement($evenement)) {
            $this->evenements->removeElement($evenement);
        }
    }
}
 No newline at end of file