<?phpnamespace App\Entity;use App\Entity\Traits\Timestampable;use App\Repository\QuestionOptionRepository;use Doctrine\ORM\Mapping as ORM;// Option de réponse pré-définie par l'enseignant pour une Question (qcm,// true_false, matching, ordering). `isCorrect` sert à la correction// automatique des qcm/true_false. Pour `ordering`, `position` EST l'ordre// correct attendu (comparé à l'ordre proposé par l'élève dans StudentAnswer).// Pour `matching`, `side` ('left'|'right') + `pairKey` regroupent les deux// éléments d'une paire à relier.#[ORM\HasLifecycleCallbacks]#[ORM\Entity(repositoryClass: QuestionOptionRepository::class)]class QuestionOption{ use Timestampable; public const SIDE_LEFT = 'left'; public const SIDE_RIGHT = 'right'; #[ORM\Id] #[ORM\GeneratedValue] #[ORM\Column] private ?int $id = null; #[ORM\ManyToOne(inversedBy: 'options')] #[ORM\JoinColumn(nullable: false, onDelete: 'CASCADE')] private ?Question $question = null; #[ORM\Column(length: 500)] private ?string $text = null; #[ORM\Column] private bool $isCorrect = false; #[ORM\Column] private int $position = 0; #[ORM\Column(length: 10, nullable: true)] private ?string $side = null; #[ORM\Column(length: 50, nullable: true)] private ?string $pairKey = null; public function getId(): ?int { return $this->id; } public function getQuestion(): ?Question { return $this->question; } public function setQuestion(?Question $question): static { $this->question = $question; return $this; } public function getText(): ?string { return $this->text; } public function setText(string $text): static { $this->text = $text; return $this; } public function isCorrect(): bool { return $this->isCorrect; } public function setIsCorrect(bool $isCorrect): static { $this->isCorrect = $isCorrect; return $this; } public function getPosition(): int { return $this->position; } public function setPosition(int $position): static { $this->position = $position; return $this; } public function getSide(): ?string { return $this->side; } public function setSide(?string $side): static { $this->side = $side; return $this; } public function getPairKey(): ?string { return $this->pairKey; } public function setPairKey(?string $pairKey): static { $this->pairKey = $pairKey; return $this; }}