あなたがグローバルなキーワードを使用することができます。一般的には混乱し、コードを維持するのが難しくなります。 Wordpressはこのアプローチをコードベースで多く使用しており、非常にトリッキーなデバッグが可能です。他のプラグインとコードは、グローバル変数を挿入して変更し、スクリプトの出力を変更することができます。
は、あなたのWebアプリケーションのためのOOPの構造を使用します。どちらかになります良いだろう何
。
このように、ランダムなグローバル変数の代わりにオブジェクトを使用することができます。これは、あなたが間違ってスクリプトの中でグローバル変数を上書きするという問題を回避します。また、変数を正しく整理するのに役立ちます。したがって、ユーザーに関するすべての変数はUser
クラスに含まれている可能性があります。そのような構造にすることはより理にかなっています。あなたはあなたの例で示してきたと同じように機能
に
class User {
private $firstName;
private $secondName;
private $gender;
public function __construct($fname, $sname, $gend){
$this->firstName = $fname;
$this->secondName = $sname;
$this->gender = $gend;
}
public function outputDetails(){
echo $this->firstName." ".$this->secondName." is ".$this->gender;
}
}
$user = new User("Thomas", "Clayson", "Male");
$user->outputDetails();
パス変数。これはこれを行う一般的に受け入れられている標準的な方法です。このように常に変数を渡す必要があります。スコープと適切な構造を定義するのに役立ちます。また、グローバルスコープから変数を抜き出すのではなく、変数を所有して関数に渡すので、変数の値が何であるかを知ることもできます。
簡単な解決方法は、PHPまたはJavaScriptでグローバル変数を使用しないでください。 – zzzzBov
あなたはそれをしたくありません。 http://stackoverflow.com/questions/5166087/php-global-in-functions/5166527#5166527 – Gordon
「グローバル」が使用されるたびに私はうんざりします。 – MetalFrog