- ベストアンサー
グローバル変数
グローバル変数はどういう時に使うのか教えてください!
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
> グローバルに指定したものはどのファンクションからでも呼び出せるので > 複数のプログラムで使用する、共通のプログラムをincludeやrequireして > ファンクションが飛び飛びになる時などに役立っています。 う~ん。。。だからまずいんです(笑) と言うか、自分だけでそのプログラムを完成させるのであれば、【まだまし】ですが(私なら使いません。)、人の書いたグローバル変数が羅列されたコードをとても読む気にはなりませんし、コードの可読性が著しく落ちます。 > 全てグローバル変数で作成する人はいないと思いますし、 > 動的に変更され、どこからでも呼び出したいものである場合はとても便利です。 そうですね。便利です。 しかしその便利さに対する危険性が大きすぎます。 その他の言語でもいいのである程度大きなシステム作ったことあります? # かく言う私もphpでは大きなものは作ったことがありません(^^; そんなとき、グローバル変数を使うと酷い目にあいますし、チームで作るときも絶対に嫌われます。 > 何事も、適材適所ですね。 私はグローバル変数の適所というのは「簡単なコードのテストの時」だけと考えています。 global $hoge function fuga() { $a=$hoge; } function fugo() { $b=$hoge; } の様なときでも、テストが終わり、本番にはいるときは必ず、 function fuga($hoge) { } function fugo($hoge) { } と関数に引数で渡します。
その他の回答 (2)
- duckling
- ベストアンサー率47% (88/185)
出来るだけ使うべきではない、 ということはないと思います。 グローバルに指定したものはどのファンクションからでも呼び出せるので 複数のプログラムで使用する、共通のプログラムをincludeやrequireして ファンクションが飛び飛びになる時などに役立っています。 全てグローバル変数で作成する人はいないと思いますし、 動的に変更され、どこからでも呼び出したいものである場合はとても便利です。 何事も、適材適所ですね。
- kusukusu
- ベストアンサー率38% (141/363)
> グローバル変数はどういう時に使うのか教えてください! ど~~~~~~~~しても、使わざるを得ない時に使います(笑) # 果たしてそんな状況はあるのだろうか? # 私場合はないですね。 又は、「どうせこのコードはここでしか使わないや。楽しちゃえ~」って言うとき… と言うより、出来るだけ使うべきではありません。 ではなぜ使わない方がいいか。。 同じ変数をあちこちでグローバルで記述すると、変数の管理が大変になります。 特に関数なんかに組み込んじゃうと、絶対に(?)また同じ変数名を宣言してしまいます # 変数名をつける法則って自然とあるでしょ? # 例えば連番の数字なんて、$id とか。。。 それで、「何でこのコードの動きがおかしいんだ!?」 って後で悩むからです。