laravelにコントローラオブジェクトの状態を保持する可能性はありますか?私が見つけたすべての例ではLaravelコントローラメンバ変数
、コントローラは次のようになります:
class MyController extends Controller {
public function getView(){ //return the view }
public function postData() { //save the data }
}
私はどうなるのか、私のデータベースから特定のデータをロードするサービスを呼び出し、ビューにそれを返すことです。上記の例では、これはgetView()関数内で行う必要があります。私のpostData()関数で同じデータが必要な場合はどうすればいいですか?そして、私はpostData関数で別のデータベース呼び出しを行う必要があります。 'MyController'にメンバー変数を持ち、laravelのルーティングのためにクラスのデータを一度しかロードすることはできません。ルーティングを介してgetView関数を呼び出すと、postDataを呼び出すと、取得するよりもMyControllerの別のインスタンスが取得されます。特定の関数をコントローラ全体に対して一度呼び出すだけで、コントローラ内のすべての関数からこの値にアクセスすることは可能ですか?
あなたは単に 'getViewメソッド()'を直接 'POSTDATA()'で呼び出し、それを返すことができませんか? – radmen
次にキャッシュを使用します。 – itachi
'postData()'が何をしているかによって、私はキャッシュの使用に非常に注意します。フォーム提出時にデータベースから最新のデータを入手できるようにすることができます( 'post'接頭辞がそれを意味すると仮定します)。注意してください。 – JofryHS