Cet article est la première partie d'une série :
Lors d'un projet Bolt CMS, nous avons mis en œuvre un formulaire de modification de ses données personnelles dans un annuaire. L’individu disposait d’informations dont les champs (nom, prénom, téléphone, email, adresse, profession ...) et le but était de pouvoir modifier, ajouter ou supprimer ses informations personnelles.
Nous nous sommes basés sur ce modèle de données pour notre formulaire :
Lorsqu’on parle de modèle de données, trois principaux termes sont importants: entité, attribut et relation.
Concernant les relations, elles se font sur du OneToMany pour une personne:
Voici un code d’exemple d’une entité accompagné de ses attributs (get + setters inclus) et d’une relation avec une autre entité nommé Person:
//ProfessionEntity
// src/Entity/Profession.php
<?phpnamespace App\Entity;
use App\Repository\ProfessionRepository;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass=ProfessionRepository::class)
* @ORM\HasLifecycleCallbacks
*/
class Profession{/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;/** @ORM\Column(type="string", length=255) */
private $description;/**
* @ORM\ManyToOne(targetEntity=Person::class, inversedBy="professions")
* @ORM\JoinColumn(nullable=false)
*/
private $person;
public function getId(): ?int
{
return $this->id;
}public function getDescription(): ?string
{
return $this->description;
}public function setDescription(string $description): self
{
$this->description = $description;return $this;
}public function getPerson(): ?Person
{
return $this->person;
}public function setPerson(?Person $person): self
{
$this->person = $person;return $this;
}
}
Nous allons voir dans une deuxième partie, qu'est-ce que API Platform ? Et comment l'a-t-on utilisé dans notre projet Bolt CMS pour le formulaire ?
Lire la suite : Partie 2/3 - Installation et configuration d'API Platform