は、次の2つの例を見てください:
例1:
$variable = 'some value';
class Foo {
public function bar() {
global $variable;
print $variable;
}
}
例2:
$variable = 'some value';
class Foo {
public function bar() {
print $GLOBALS['variable'];
}
}
例としては、次のように使用することができます:
$foo = new Foo();
$foo->bar();
どちらも思えます同じことをするには?違いはなんですか?他のものよりも良い方法ですか?なぜこれを行うには2つの異なる方法がありますか?
最初の例は、宣言の後に変数を割り当てずに使用するように見えるので、私にとっては奇妙に見えます。
ありがとうございます。
[グローバルを使用しない](http://stackoverflow.com/questions/5166087/global-in-functions/5166527#5166527) –
グローバルは常に悪くはありません。私はOracle DBへの接続を行うconfig.inc/config.phpファイルを書いています。このファイルでは、接続は変数に割り当てられます。クエリを実行するには、この変数にアクセスする必要があります。そうでなければ、接続を続けなければなりません。それは有効な使用権ですか?そうでないか教えてください。 – ale
ではありません。私がここにリンクした答えは、非常に有用な記事への言及を持っています - それはそれらを読む時間を無駄にすることはありません。あなたの場合、依存症注入(http://en.wikipedia.org/wiki/Dependency_injection)または[DI容器](http://martinfowler.com/articles/injection.html)が必要です。 –