PatrickLubbers / educom-webshop-oop-1706014168

0 stars 0 forks source link

Zet alle interactie met $_SESSION in de SessionManager class #14

Closed JeroenHeemskerk closed 7 months ago

JeroenHeemskerk commented 7 months ago

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() 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(); 
     }