> For the complete documentation index, see [llms.txt](https://akyos.gitbook.io/book/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://akyos.gitbook.io/book/symfony/creation-dentite.md).

# Création d'entité

### Nommage des champs

Utilisation au maximum de schema.org

{% embed url="<https://schema.org/>" %}
Lien vers la documentation
{% endembed %}

Une norme existe pour le nommage des propriétés d'objet, nous devons alors l'utiliser. Cependant, par moment, les champs que nous voulons créer seront trop spécifique à notre projet. Alors dans ce cas, si vous ne trouvez pas une équivalence avec schema.org, vous pouvez créer votre propre nom de champ.

### Namespaces

Vous aurez peut-être le cas d'entité qui font référence à une autre.&#x20;

Exemple :&#x20;

* Vous voulez créer une voiture. Entité : `App\Entity\Car`
* Vous avez un model de voiture qui lui est rattaché. Nous avons donc une entité qui est rattaché à une autre. Dans ce cas, le namespace de cette dernière sera : `App\Entity\Car\Model`

### L'héritage

Il faut vous posez les bonnes questions, est-ce que mes entités ne sont finalement pas les mêmes avec des champs en plus par type ?&#x20;

Exemple :&#x20;

{% embed url="<https://gitlab.com/akyos-symfony/byd/-/blob/main/src/Entity/Person.php?ref_type=heads>" %}

### Asserts

Utiliser un maximum les asserts au niveau des entités. En effet, d'une part, cela permet d'avoir des données structurées et en plus, pour les live composant, au niveau des formulaires, cela permet de throw les erreurs automatiquement.
