本文整理汇总了PHP中Symfony\Component\Security\Core\User\UserInterface::setCartItemCount方法的典型用法代码示例。如果您正苦于以下问题:PHP UserInterface::setCartItemCount方法的具体用法?PHP UserInterface::setCartItemCount怎么用?PHP UserInterface::setCartItemCount使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Symfony\Component\Security\Core\User\UserInterface
的用法示例。
在下文中一共展示了UserInterface::setCartItemCount方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: checkAuthentication
/**
* {@inheritdoc}
*/
protected function checkAuthentication(UserInterface $user, UsernamePasswordToken $token)
{
$currentUser = $token->getUser();
if ($currentUser instanceof UserInterface) {
if ($currentUser->getPassword() !== $user->getPassword()) {
throw new BadCredentialsException('The credentials were changed from another session.');
}
} else {
if (!($presentedPassword = $token->getCredentials())) {
throw new BadCredentialsException('The presented password cannot be empty.');
}
$client = $this->client;
$cartId = null;
if ($user instanceof User) {
$cartId = $user->getCartId();
}
$request = CustomerLoginRequest::ofEmailAndPassword($token->getUser(), $presentedPassword, $cartId);
$response = $request->executeWithClient($client);
if ($response->isError()) {
throw new BadCredentialsException('The presented password is invalid.');
}
$result = $request->mapResponse($response);
$customer = $result->getCustomer();
if ($currentUser !== $customer->getEmail()) {
throw new BadCredentialsException('The presented password is invalid.');
}
if ($user instanceof User) {
$user->setId($customer->getId());
$cart = $result->getCart();
if (!is_null($cart)) {
$user->setCartId($cart->getId());
$user->setCartItemCount($cart->getLineItemCount());
}
}
}
}