Не удалось получить доступ к свойству расширенного класса с новым экземпляром через Ajax Laravel - PullRequest
1 голос
/ 12 апреля 2019

Ниже приведен пример кода, чтобы лучше объяснить:

class BaseController extends Controller
{
    public $globalCurrencies;
    public $currentCurrency;
    public $globalLanguages;
    public $currentLanguage;

    public function __construct()
    {
        $this->globalCurrencies = $this->getCurrencies();
        $this->globalLanguages = $this->getLanguages();

        $this->middleware(function ($request, $next) {
            $this->currentCurrency = $this->getCurrentCurrency();
            $this->currentLanguage = $this->getCurrentLanguage();
            return $next($request);
        });
    }

CartController

class CartController extends BaseController
    {
        public function __construct()
        {
            parent::__construct();
        }

BaseController устанавливает базовые переменные для приложения.В корзине используются некоторые из них, например (текущая валюта).Некоторые переменные основаны на сеансах, поэтому в базовой конструкции есть промежуточное программное обеспечение, используемое для получения данных сеанса в конструкторе).В этой части все работает, и у корзины есть доступ к свойствам baseController.

Здесь возникает проблема:

class OrderController extends BaseController
{
    public function loadPaymentsAndDelivery(Request $request)
    {
        $cart = new Cart;
        dd($cart->globalCurrencies) // WORKS
        dd($cart->currentCurrency)  // NULL
    }
}

По сути, на новом экземпляре Cart я могу получить доступ ко всем свойствам, созданным без промежуточного программного обеспечения.Без промежуточного программного обеспечения я не могу получить доступ к сеансу для настройки корзины.Метод loadPaymentsAndDelivery загружается через ajax, но я попытался напрямую вызвать метод, и свойства все еще были нулевыми.

Может кто-нибудь объяснить, почему это происходит?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...