Skip to content

Commit f20528c

Browse files
committed
Mise en place d'un glossaire et de règles pour doctrine/orm
1 parent 96abf19 commit f20528c

File tree

2 files changed

+76
-0
lines changed

2 files changed

+76
-0
lines changed

doc/adr/doctrine.md

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
# ADR - Doctrine ORM
2+
3+
Cet ADR spécifie les règles décidées pour l'utilisation de l'ORM Doctrine.
4+
5+
## La langue
6+
7+
Avant toute chose, il a été décidé d'utiliser l'anglais pour les entités, à l'exception de certains sigles peu
8+
traduisibles en français.
9+
10+
Le [glossaire][glossaire] doit être complété avec chaque nouveau mot anglais afin de conserver un lieu central pour
11+
aider à la compréhension des entités et du code en général.
12+
13+
## Entité
14+
15+
Une entité doit déclarer ses propriétés fortement typées et en `public` (au lieu d'avoir des getters/setters).
16+
17+
Par exemple :
18+
19+
```php
20+
use Doctrine\ORM\Mapping as ORM;
21+
22+
#[ORM\Entity]
23+
#[ORM\Table(name: 'exemple')]
24+
class Exemple
25+
{
26+
#[ORM\Id]
27+
#[ORM\GeneratedValue]
28+
#[ORM\Column]
29+
public ?int $id = null;
30+
31+
#[ORM\Column(length: 255, nullable: false)]
32+
public string $nonNullbale;
33+
34+
#[ORM\Column(length: 255, nullable: true)]
35+
public ?string $nullable = null;
36+
}
37+
```
38+
39+
## Repository
40+
41+
Un repository doit hériter de la classe de base `\AppBundle\Doctrine\EntityRepository` et implémenter le constructeur
42+
avec l'entité concernée.
43+
44+
Par exemple :
45+
46+
```php
47+
use AppBundle\Exemple\Entity\Exemple;
48+
use AppBundle\Doctrine\EntityRepository;
49+
use Doctrine\Persistence\ManagerRegistry;
50+
51+
/**
52+
* @extends EntityRepository<Exemple>
53+
*/
54+
final class ExempleRepository extends EntityRepository
55+
{
56+
public function __construct(ManagerRegistry $registry)
57+
{
58+
parent::__construct($registry, Exemple::class);
59+
}
60+
}
61+
```
62+
63+
[glossaire]: ../glossaire.md

doc/glossaire.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Glossaire
2+
3+
Ce document sert à centraliser et expliquer les termes anglais du projet.
4+
5+
## Trésorerie
6+
7+
### Rule
8+
9+
Désigne une règle de comptabilité, utilisée pour qualifier automatiquement certaines transactions du journal.
10+
11+
### Category
12+
13+
La catégorie d'une transaction, par exemple `Transport`, `Inscription` ou `Remboursement`.

0 commit comments

Comments
 (0)