Как получить доступ до свойства класа? class ProviderController extends Controller { public $previousUrl; public function redirect($driver) { $this->previousUrl = url()->previous(); } public function callback($provider) { dd($this->previousUrl); } } В ответе NULL а если поставить dd в методе redirect то значение есть, как так?

20 Авг 2023 в 19:53
91 +1
0
Ответы
1

В предоставленном коде класса ProviderController, свойство $previousUrl инициализируется внутри метода redirect(). Однако, когда в методе callback() выводится это свойство с помощью dd($this->previousUrl), оно выдает значение NULL.

Причина этого может быть связана с жизненным циклом объекта ProviderController. Если каждый раз при выполнении метода callback() создается новый экземпляр ProviderController, то это означает, что свойство $previousUrl будет снова инициализировано при каждом новом запросе.

Если вы хотите сохранить значение $previousUrl между запросами, вы можете воспользоваться сессиями или базой данных, чтобы сохранить и извлечь это значение. Например, вы можете использовать сессии Laravel:

public function redirect($driver) {

session()->put('previousUrl', url()->previous());

}

public function callback($provider) {

$previousUrl = session()->get('previousUrl');

dd($previousUrl);

}

Теперь значение $previousUrl будет сохранено в сессии между запросами и должно быть доступно в методе callback(). Убедитесь, что у вас настроена конфигурация сессии в Laravel, чтобы это функционировало правильно.

Если вы все равно получаете NULL, убедитесь, что значение $previousUrl сохраняется в сессию и правильно извлекается.

4 Сен 2023 в 20:09
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 706 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир