Skip to content
Snippets Groups Projects
Commit f7bbb758 authored by Greg0ire's avatar Greg0ire
Browse files

Merge branch 'more-integration' into 'master'

More integration

See merge request !12
parents 56664145 9ba0278e
Branches
No related tags found
1 merge request!12More integration
...@@ -37,6 +37,11 @@ code { ...@@ -37,6 +37,11 @@ code {
font-family: Circular, "League Gothic", Impact, sans-serif; font-family: Circular, "League Gothic", Impact, sans-serif;
font-weight: bold; font-weight: bold;
letter-spacing: 1px; letter-spacing: 1px;
text-transform: none;
/*text-shadow: #1E19C2 1px 1px 4px;*/
}
.reveal h4 {
font-size: 1.5em;
} }
.reveal pre { .reveal pre {
...@@ -67,6 +72,19 @@ code { ...@@ -67,6 +72,19 @@ code {
height: 150px; height: 150px;
} }
#hello {
line-height: 1.1;
}
#hello img {
border-radius: 50% !important;
-webkit-box-shadow: 1px 1px 2px 0px rgba(0,0,0,0.51);
-moz-box-shadow: 1px 1px 2px 0px rgba(0,0,0,0.51);
box-shadow: 1px 1px 2px 0px rgba(0,0,0,0.51);
}
#hello .job {
font-size: 0.7em;
}
#universcine, #manomano { #universcine, #manomano {
display: inline-block; display: inline-block;
} }
...@@ -150,4 +168,4 @@ code { ...@@ -150,4 +168,4 @@ code {
blockquote.twitter-tweet { blockquote.twitter-tweet {
/*transform: scale(2);*/ /*transform: scale(2);*/
} }
\ No newline at end of file
# Ne soyez plus l'esclave de Doctrine # NE SOYEZ PLUS L'ESCLAVE DE DOCTRINE
--- ---
<!-- .slide: id="hello" -->
## Hello! ## Hello!
<div style="width: 50%; float: left;"> <div style="width: 50%; float: left;">
Grégoire Paris<br />
Software Engineer<br />
<span id="gregoire">![PhotoDeGregoire](./PARIS-150x150.jpg)</span><br /> <span id="gregoire">![PhotoDeGregoire](./PARIS-150x150.jpg)</span><br />
<div id="gregoire_company"> **Grégoire PARIS**<br />
<div id="universcine"> <span class="job">
![LogoUniversCine](./universcine_light.svg) Software Engineer<br />
</div> Universciné → ManoMano<br />
<div id="universcine"></div> </span>
<div id="manomano">
![LogoManomano](./Logo_MAnoMano_HD.svg)
</div>
</div>
</div> </div>
<div style="width: 50%; float: right;" id="maxime"> <div style="width: 50%; float: right;" id="maxime">
Maxime Veber<br /> ![PhotoDeMaxime](./MaximeNB.png)<br />
Backend developer<br /> **Maxime VEBER**<br />
![PhotoDeMaxime](./MaximeNB.png) <span class="job">
Backend Developer<br />
Agence BiiG
</span>
</div> </div>
--- ---
...@@ -36,6 +34,7 @@ Backend developer<br /> ...@@ -36,6 +34,7 @@ Backend developer<br />
Notes: Juste pour dire que nous n'avons rien à voir avec la team de Doctrine et qu'il faut les remercier. Notes: Juste pour dire que nous n'avons rien à voir avec la team de Doctrine et qu'il faut les remercier.
--- ---
<!-- .slide: class="lot_of_code" -->
## Vous avez dit entité ? ## Vous avez dit entité ?
```php ```php
...@@ -72,13 +71,15 @@ Notes: ...@@ -72,13 +71,15 @@ Notes:
- Pas de setter pour id, il est setté par Doctrine après la persistence - Pas de setter pour id, il est setté par Doctrine après la persistence
--- ---
## ️❤️ Domain Driven Design ❤️ ## ️ Domain Driven Design
- Représenter les **règles métier** dans les entités - Représenter les **règles métier** dans les entités
- Avoir une API expressive - Avoir une API expressive
- Respecter l'encapsulation - Respecter l'encapsulation
- Séparer le **domaine** de l'infrastructure - Séparer le **domaine** de l'infrastructure
<span style="font-size: 1.5em;">❤️</span>
Notes: Notes:
- Il existe d'autres architectures, cf le talk sur le clean code de Romain Kuzniak - Il existe d'autres architectures, cf le talk sur le clean code de Romain Kuzniak
...@@ -326,10 +327,10 @@ class Article ...@@ -326,10 +327,10 @@ class Article
} }
``` ```
<span style="font-size: 3em;color: red;"></span> <span style="font-size: 2em;color: red;"></span>
--- ---
### tarifhaus/doctrine-nullable-embeddable ## tarifhaus/doctrine-nullable-embeddable
Nécessite un setter. Nécessite un setter.
...@@ -343,7 +344,30 @@ Nécessite un setter. ...@@ -343,7 +344,30 @@ Nécessite un setter.
✨ _sisi, c'est possible_ ✨ ✨ _sisi, c'est possible_ ✨
--- ---
## Repository as a Service ## Repository as a Service: before
```php
class ArticleRepository extends EntityRepository
{
// your methods
}
```
```yaml
app.infrastructure.doctrine.user_repository:
class: App\Infrastructure\Doctrine\UserRepository
factory: ["@doctrine.orm.entity_manager", getRepository]
arguments:
- App\Model\User
```
```
[Doctrine\ORM\ORMException]
The EntityManager is closed.
```
---
## Repository as a Service: after
Depuis DoctrineBundle 1.8.0 (novembre 2017) : Depuis DoctrineBundle 1.8.0 (novembre 2017) :
...@@ -362,10 +386,12 @@ class ArticleRepository extends ServiceEntityRepository ...@@ -362,10 +386,12 @@ class ArticleRepository extends ServiceEntityRepository
✔ Enregistrement en tant que service simple ✔ Enregistrement en tant que service simple
--- ---
## Les repositories ## L'interface ServiceEntityRepositoryInterface
```php ```php
final class DoctrineArticleRepository implements ArticleRepositoryInterface, ServiceEntityRepositoryInterface final class DoctrineArticleRepository implements
ArticleRepositoryInterface,
ServiceEntityRepositoryInterface
{ {
private $entityManager; private $entityManager;
...@@ -400,6 +426,8 @@ coup… slide suivant ...@@ -400,6 +426,8 @@ coup… slide suivant
$repository = $entityManager->getRepository(Article::class); $repository = $entityManager->getRepository(Article::class);
``` ```
<span style="font-size: 1.5em;">👍</span>
--- ---
## Les repositories, ça peut grossir ## Les repositories, ça peut grossir
...@@ -537,7 +565,7 @@ Note: ...@@ -537,7 +565,7 @@ Note:
<!-- .slide: data-background="./iwantmore.gif" --> <!-- .slide: data-background="./iwantmore.gif" -->
--- ---
### Quelle API pour interroger la base de données? ## Quelle API pour interroger la base de données&nbsp;?
<table> <table>
<tr> <tr>
...@@ -600,7 +628,7 @@ $comments = $query->getResult(); ...@@ -600,7 +628,7 @@ $comments = $query->getResult();
SQL + Objets SQL + Objets
--- ---
### Les dépendances circulaires entre paquets ## Les dépendances circulaires entre paquets
Problème : Problème :
...@@ -621,14 +649,14 @@ doctrine: ...@@ -621,14 +649,14 @@ doctrine:
``` ```
--- ---
# What's next # What's next?
--- ---
# Support de MariaDB dans Doctrine&nbsp;3 # Support de MariaDB dans Doctrine&nbsp;3
--- ---
<!-- .slide: data-background="./explosion2.gif" --> <!-- .slide: data-background="./explosion2.gif" -->
# La configuration YAML est dépréciée # La configuration Doctrine YAML est dépréciée
--- ---
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment