Skip to content
Snippets Groups Projects

Custom types embeddables

Merged Greg0ire requested to merge custom_types_embeddables into master
3 unresolved threads

Merge request reports

Approval is optional

Merged by Maxime VeberMaxime Veber 7 years ago (Mar 7, 2018 11:00pm UTC)

Merge details

  • Changes merged into master with 2b4a85ec.
  • Deleted the source branch.

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
141
142 ```php
143 use Doctrine\ORM\Annotation as ORM;
144
145 class NiceArticle
146 {
147 private $uuid;
148
149 /** @ORM\Embedded(class = "ArticleContent") */
150 private $articleContent;
151 }
152 ```
153
154 Note:
155 - À utiliser en cas de Value Object composite
156 - Des soucis avec la nullabilité, contournables avec un package
  • Maxime Veber
    Maxime Veber @Nek started a thread on the diff
  • 154 Note:
    155 - À utiliser en cas de Value Object composite
    156 - Des soucis avec la nullabilité, contournables avec un package
    157 - Ne peuvent contenir des colonnes complexes
    158
    159 ---
    160 ### Les custom types
    161
    162 ```php
    163 use Doctrine\DBAL\Platforms\AbstractPlatform as P;
    164
    165 final class ArticleContentType extends Type
    166 {
    167 public function convertToPHPValue($value, P $p): ArticleId
    168 {
    169 return new ArticleId($value);
  • 107 107 Note:
    108 108 - Impossible de persister une entité invalide
    109 109 - Validation compliquée quand on a trop de propriétés
    110 - Les constructeurs ne posent pas problème à Doctrine, qui utilise de la
  • Greg0ire added 3 commits

    added 3 commits

    • 072a11ae - Explain how this is about Doctrine
    • 298d2472 - Add slides for embeddables and custom types
    • 70204c39 - Add note about named constructors

    Compare with previous version

  • Greg0ire added 2 commits

    added 2 commits

    • bfd5fc09 - Add explanation about ArticleId
    • 66b2c894 - Add slides about repositories / query functions

    Compare with previous version

  • Greg0ire added 7 commits

    added 7 commits

    • 39d8226a - Add comments on tree
    • d9b1f554 - Explain how id setting works in classical arch
    • 99944587 - Reference other arch and talk
    • 17e88370 - Notes about uuids
    • e8c71338 - Whitespace
    • c24f9265 - Recommendation on entity repository
    • 926bd483 - Add slides about collections and relationships

    Compare with previous version

  • Greg0ire added 1 commit

    added 1 commit

    • 5b27a961 - Expose different ways to interact with the DB

    Compare with previous version

  • Maxime Veber mentioned in commit 2b4a85ec

    mentioned in commit 2b4a85ec

  • merged

  • Please register or sign in to reply
    Loading