この質問は簡単そうに見えますが、どこにも答えが見つかりません...
PHPスクリプト/ファイルの最初に変数を作成したいと思います。
$variable = 'this is my variable';
この変数をスクリプト全体で使用できるようにして、すべてのクラス、メソッド、関数、含まれているスクリプトなどがこの変数を$variableとして簡単に呼び出すことができるようにします。
Class MyClass
{
public function showvariable()
{
echo $variable;
}
}
$ _SESSION、$ _ POST、$_GET変数はすべてそのように動作します。メソッドを記述して$_POSTを使用するだけで、機能します。しかし、スクリプトの冒頭で定義した$ variableを使用すると、「注意:未定義の変数:変数は...」と表示されます。クラスメソッドではなく関数を作成すると、それも表示されます。 。
書いてみました
global $variable = 'this is my variable';
しかし、その後、スクリプトはロードされませんでした...「HTTPエラー500(内部サーバーエラー):サーバーが要求を実行しようとしたときに、予期しない状態が発生しました。」
$ _POSTのように、変数を本当にグローバルにアクセスできるようにするにはどうすればよいですか?
なぜこれが必要なのですか?具体的にはフォームトークンとして使用する予定です。ページの上部でフォームトークンを$tokenとして生成し、ページの下部でそれをセッションに保存します。フォームを処理する前に、SESSIONトークンがPOSTトークンと一致するかどうかを確認します...そして、ページに複数のフォームがあることが多いので(上部ナビゲーションにログインフォーム、本体に登録フォーム)、便利にしたいと思います。各フォームで$tokenを呼び出します。私のフォーム要素はクラスまたは関数によって生成されることがありますが、変数を認識せず、定義されていないと言います。