createBase($section); $orderShopBelongTo = false; if (!is_null($user)) { $orderShopBelongTo = true; $orderShop->setUser($user); } if (!is_null($visitor) && !$orderShop->getUser()) { $orderShopBelongTo = true; $orderShop->setVisitor($visitor); } if (!$orderShopBelongTo) { /* * @TODO : lors de la première visite, le cookie visitor n'étant pas encore sur le navigateur du visiteur, * visitor et user sont à null. Du coup, on ne peut pas déclencher cette exception. Voir s'il n'est pas * possible d'avoir directement un visitor lors de la première visite. */ // throw new \ErrorException('La commande doit être liée à un utilisateur ou à un visiteur.'); } return $orderShop; } public function createBase(SectionInterface $section): OrderShopInterface { $class = OrderShopContainer::getEntityFqcn(); $orderShop = new $class; $orderShop->setSection($section); return $orderShop; } }