Laravel private variable shared between two methods in Controller Laravel private variable shared between two methods in Controller laravel laravel

Laravel private variable shared between two methods in Controller


You're talking about one single controller, right? So I'll assume that this what you mean:

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;    }}

If you are doing thing in the same request, you can

$this->method1('newvalue');echo $this->method2();

And it will print newvalue.

If you are doing it between requests, you need to remember that your application ends after a request a restart in a new one, so you'll need to store it somewhere, like in a Session variable:

Session::put('variable', $newvalue);

and then

Session::get('variable');

Or you can redirect with the value you need to get back in your method:

Redirect::to('posts')->with('variable','this is a new value');

And in the second

Session::get('variable');