Come utilizzare la variabile privata in Laravel Controller e condividere tale valore variabile tra due methods. (Impostalo in un uso in un altro).
Stai parlando di un singolo controller, giusto? Quindi presumo che questo sia ciò che intendi:
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; } }
Se stai facendo qualcosa nella stessa richiesta, puoi farlo
$this->method1('newvalue'); echo $this->method2();
E stamperà newvalue
.
Se lo fai tra una richiesta e l'altra, è necessario ricordare che l'applicazione termina dopo una richiesta di riavvio in una nuova, quindi dovrai memorizzarla da qualche parte, come in una variabile Session:
Session::put('variable', $newvalue);
e poi
Session::get('variable');
Oppure puoi redirect con il valore necessario per tornare al tuo metodo:
Redirect::to('posts')->with('variable','this is a new value');
E nel secondo
Session::get('variable');
Puoi anche utilizzare l'approccio Impostazione descritto qui
laravel condividi la variabile tra tutti i methods in un controller
e
Laravel: passaggio di variables predefinite per la visualizzazione
e puoi scaricare Setting qui, https://github.com/Phil-F/Setting