Php Session Object Взаимодействие - PullRequest
0 голосов
/ 23 августа 2011

Прошу у вас совета. Я борюсь с сеансами / объектными взаимодействиями ....

<?php
class ShoppingCart 
{

    public $products 

    public function __construct($session) {
        $this->products = $session['products']; 
    }

    public addProduct($id) {
        $this->products[] = new Product($id);
        $_SESSION['products'] = $this->products;
    }

}

session_start();
$shoppingCart = new ShoppingCart($_SESSION); 
$shoppingCart->addProduct(1);
?>

Как бы вы написали подобный код? Это всего лишь заглушка, но мне не нравится мой метод addProduct и весь этот код в целом. Пожалуйста, не будьте критичны и помогите мне улучшить это. Может быть, есть какие-то шаблоны проектирования или примеры такого взаимодействия?

1 Ответ

1 голос
/ 23 августа 2011
class ShoppingCart {

    private $products = array();

    public function __construct() {
        if (isset($_SESSION['products'])) {
            $this->products = &$_SESSION['products']; 
        }
    }

    public addProduct($id) {
        $this->products[] = new Product($id);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...