Het is beter om in de SessionManager class functies te hebben als loginUser(name), logoutUser(), isUserLoggedIn() en clearCart() zodat bovenstaande code wordt:
private function handleClearCart() {
$this->sessionManager->clearCart()
}
private function handleLogout() {
$this->sessionManager->logoutUser()
}
en
public function placeOrder($userId, $user) {
$cart = $this->sessionManager->getCart();
if (!empty($cart)) {
foreach ($cart as $cartItem) {
$itemId = $cartItem['itemId'];
$amount = $cartItem['amount'];
$userId = $_SESSION['user_id'];
$user = $_SESSION['user'];
insert_into_orders_table($this->connection, $itemId, $user, $userId, $amount);
}
//Clearing the cart after placing the order
$this->sessionManager->clearCart();
}
In de controller en ShopModel staat nog wat interactie met de $_SESSION https://github.com/PatrickLubbers/educom-webshop-oop-1706014168/blob/9e98533f5c50f114a9ad4e2327ffa5d52217c741/controllers/pageController.php#L104-L120 https://github.com/PatrickLubbers/educom-webshop-oop-1706014168/blob/9e98533f5c50f114a9ad4e2327ffa5d52217c741/models/ShopModel.php#L47-L62
Het is beter om in de SessionManager class functies te hebben als
loginUser(name)
,logoutUser()
,isUserLoggedIn()
enclearCart()
zodat bovenstaande code wordt:en