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