Как использовать закрытую переменную в Laravel Controller и делиться этим значением переменной между двумя методами. (Установите его одним способом в другом).
Вы говорите об одном контроллере, верно? Поэтому я буду считать, что это то, что вы имеете в виду:
class ControllerController extends Controller { private $variable; public function __construct($whatever) { $this->variable = $whatever; } public function method1($newValue) { $this->variable = $newValue; } public function method2() { return $this->variable; } }
Если вы делаете что-то в том же запросе, вы можете
$this->method1('newvalue'); echo $this->method2();
И он будет печатать newvalue
.
Если вы делаете это между запросами, вам нужно помнить, что ваше приложение заканчивается после запроса перезагрузки в новом, поэтому вам нужно его где-то сохранить, например, в переменной Session:
Session::put('variable', $newvalue);
а потом
Session::get('variable');
Или вы можете перенаправить значение, необходимое для возврата в свой метод:
Redirect::to('posts')->with('variable','this is a new value');
А во втором
Session::get('variable');
Вы также можете использовать метод настройки, описанный здесь
переменная обмена laravel по всем методам в контроллере
а также
Laravel: передача переменных по умолчанию для просмотра
и вы можете скачать здесь параметр, https://github.com/Phil-F/Setting