2016-08-26 7 views
2

Laravelを使用してWebアプリケーションを作成したいとします。laravelのすべてのユーザーに共通の変数を保持する方法

このアプリでは、すべてのユーザーが更新できる変数Xがあり、すべてのユーザーに表示する必要があります。例えば

Xの初期値は1であり、最初のユーザーが、第2のユーザーがすべてのユーザーのために共通しているので、私は、変数Xに格納することができる方法10

ようにXの値を参照すべきである10に変更した場合? これまでは、データベースやファイルに格納していました。しかし、これを行うための他のエレガントな方法はありますか?

+0

なぜDBに格納するのがエレガントではないと思いますか? – Mjh

+0

単一変数のテーブル全体を作成する必要がありますか? – chamathabeysinghe

+0

未知数のユーザーによって更新されたものについては、はい、単一のソースに複数のアクセスを許可する必要があります。あなたは先に進んで別のアプローチを思いついても構いませんが、不可能であるため単に「よりエレガントな」ものを作ることはありません。テーブルまたはテキストファイルであれば、基本的に同じことです。複数のユーザー、単一のデータソースです。データベースを扱うほうが簡単です。がんばろう。 – Mjh

答えて

3

あなたはキャッシュに値を入れることができます。

Cache::rememberForever('someVar', 'value'); 

次にあなたがでそれをretriveすることができます:キャッシュがクリアされますまで、これはあなたの価値を提供します

Cache::get('someVar'); 

+0

何らかの理由でアプリケーションキャッシュをクリアする必要がある(実際にはこれを行う理由はたくさんあります)ので、データを失うことはありません。 –

+0

もちろん、あなたはそれを失ってしまいます....しかし、あなたが示唆しているように、それを設定しておくことは、ユーザ間で変数を渡すことは何もありません:) –

+0

configで変数を保持すると、アプリの一部から –

0

config()ヘルパーを使用して、この変数を保存するために設定ファイルを使用できます。

// Get X variable. 
$x = config('custom.x'); 

実行時にX変数を設定し、save itを設定することもできます。

この場合、変数はconfig/custom.phpファイルに格納されます。

+0

でも新しいユーザーのためにvaiable Xは1から始まる – chamathabeysinghe

+0

あなたの質問から理解したように、変数Xは1つしかないので、 'config()'はこれには完璧です。ユーザごとにXがある場合は、DBを別のテーブルで使用するか、Xを 'users'テーブルに保存してください。 –

+0

あなたが理解したことは正しいです。この方法を使用しても起こらなかった – chamathabeysinghe

関連する問題