$qb->setParameter('name', 'Ristretto'); sep("Capsule fetched from DQL"); var_dump($qb->getQuery()->getOneOrNullResult()); /** * USER */ $clooney = new User(); $clooney->setName('George Clooney'); $clooney->setFavoriteCapsuleType(CapsuleType::fromValues('custom', 'black', 'Made only for me', 12)); $entityManager->persist($clooney); $entityManager->flush(); sep("User with favorite type persisted"); var_dump($clooney); $damien = new UserBis(); $damien->setName('Damien'); $damien->setFavoriteCapsuleTypeAsObject(CapsuleType::fromValues('custom', 'black', 'Most metal coffee ever made', 12)); $entityManager->persist($damien); $entityManager->flush(); sep("User with favorite type as object persisted"); var_dump($damien); $loick = new UserBis(); $loick->setName('Loick'); try { $entityManager->persist($loick); $entityManager->flush(); var_dump($loick); } catch (\Exception $e) { echo $e->getMessage(); /** * We can't save the user without the VO :-( */
<?php include "vendor/autoload.php"; use Model\Capsule; use Model\CapsuleType; use Model\CoffeeMaker; $ristretto = CapsuleType::fromValues('Ristretto', 'black', 'puissant et contrasté', 10); $roma = CapsuleType::fromValues('Roma', 'purple', 'intense et crémeux', 9); var_dump($ristretto == $roma); var_dump($ristretto === $roma); /** * Equality */ class VO { private $test; public function __construct($test) { $this->test = $test; } } $one = new VO('coucou'); $two = new VO('coucou'); var_dump($one == $two); var_dump($one === $two); var_dump($one->__construct('omg')); var_dump($one == $two); var_dump($one); $refObject = new ReflectionObject($one); $refProperty = $refObject->getProperty('test'); $refProperty->setAccessible(true);