Я делаю простую систему корзины покупок, используя Laravel 5 и Vue.js. Пользователь нажимает кнопку добавления в корзину, а Vue отправляет запрос AJAX контроллеру тележки. Эта часть отлично работает.
Документация для PHPCart показывает, как добавить элемент в корзину:
$cart = new Cart();
$cart->add([
'id' => 1001,
'name' => 'Skinny Jeans',
'quantity' => 1,
'price' => 90
]);
Мой вопрос в том, где я могу установить переменную $cart
в моем контроллере, чтобы к ней можно было получить доступ всеми различными способами добавления/удаления/обновления, которые в ней нуждаются?
Если вы хотите получить доступ к нескольким методам на вашем контроллере, самым простым способом является использование инъекции зависимостей в конструкторе вашего контроллера.
protected $cart;
public function __construct(Cart $cart)
{
$this->cart = $cart;
}
Затем в ваших различных методах контроллера вы можете просто получить к нему доступ, например $this->cart->add()