わかりました、これは単純でわかりにくい質問かもしれませんが、理解できません...
別のphpスクリプトに含めるクラスがあります。
たとえば$user->login
、を呼び出しますが、関数を作成してこの変数$user
または関数の外部で定義された他の変数を使用する場合は、関数の内部でGLOBALを宣言する必要があります。
関数の外部で一度だけグローバルに宣言する方法はありますか?代わりに、必要なすべての関数で宣言する方法はありますか?
そうではありません。状況に応じていくつかの恐ろしいことを行うことができますが、一般的にはglobal
. これが問題になっている場合は、グローバルが多すぎるか、間違った理由でそれらを使用している可能性があり、代わりにクラス (例) に入れることを検討する必要があります。
そして、念のため、恐ろしいことは次のとおりです(恐ろしい順に):
user
が必要になるたびに呼び出す$user
user
には通常スレッドがないため、クラスを作成し、共有状態ですべてを静的に参照します...関数を作成し、この変数$userまたは関数の外部で定義された他の変数を使用する場合...
ここではグローバルは必要ありません。変数を関数に渡します。または、クラスコンストラクターに渡して、プロパティ内に格納します。次に、クラスのすべてのメソッドでそのプロパティにアクセスできます
まあ、すべてのグローバルはからアクセスできる$GLOBALS['var_name']
ので、使用できます$GLOBALS['user']->login
が、すぐに宣言することを好むでしょうglobal $user
。
次に、$user をパラメーターとして関数に追加します。