アップデート:
以下に示すコードは、他のWebページのフォームによって呼び出されます。そのため、objのインスタンスを作成しませんでした。
より詳細なコード:
$serverloc='serverURL';
class Aclass{
function push(){
global $serverloc;
echo $serverloc;
funNotinClass();
}
function otherFunction(){
echo $serverloc;
}
}
funNotinClass(){
echo $serverloc;
}
2つの関数「push()」と「otherFunction()」を含むクラスがあり、独立した関数「funNotinClass()」があり、push()がそれを呼び出します。このクラスは、他のページのWebフォーム用です。ユーザーが[フォームの送信]をクリックしたら、クラスを呼び出して、push()関数を使用します。私が見つけた奇妙なことは、グローバル変数$ serverlocはpush()とfunNotinClass()(それらは何も出力しません)には見えませんが、Aclass内のpuch()のような関数であるotherFuction()です$ serverlocを使用できます(その前にグローバルを追加することすらしません)。なんて奇妙な……誰もがこれを引き起こした理由が何であるか知っていますか?
++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++
phpのグローバル変数のスコープに関する多くの情報を読みました。それらはすべて、グローバル変数が関数またはクラスの外部で定義されており、グローバルこのキーワードを使用して使用できると言っています。
これが私のコードです
$serverloc='serverURL';
class Aclass{
function Afunction(){
global $serverloc;
echo $serverloc;
}
}
しかし、このクラスを実行しても、何も出力されませんでした。それは、私が何か間違ったことをしたか、グローバル変数がこのように機能しないためです。私が前に読んだすべての例は、クラス内の関数ではなく、関数内のグローバル変数に直接アクセスするだけなので