プロが教えるわが家の防犯対策術!

グローバル変数はどういう時に使うのか教えてください!

A 回答 (3件)

> グローバルに指定したものはどのファンクションからでも呼び出せるので


> 複数のプログラムで使用する、共通のプログラムをincludeやrequireして
> ファンクションが飛び飛びになる時などに役立っています。
う~ん。。。だからまずいんです(笑)
と言うか、自分だけでそのプログラムを完成させるのであれば、【まだまし】ですが(私なら使いません。)、人の書いたグローバル変数が羅列されたコードをとても読む気にはなりませんし、コードの可読性が著しく落ちます。

> 全てグローバル変数で作成する人はいないと思いますし、
> 動的に変更され、どこからでも呼び出したいものである場合はとても便利です。
そうですね。便利です。
しかしその便利さに対する危険性が大きすぎます。
その他の言語でもいいのである程度大きなシステム作ったことあります?
# かく言う私もphpでは大きなものは作ったことがありません(^^;
そんなとき、グローバル変数を使うと酷い目にあいますし、チームで作るときも絶対に嫌われます。

> 何事も、適材適所ですね。
私はグローバル変数の適所というのは「簡単なコードのテストの時」だけと考えています。

global $hoge

function fuga() {
 $a=$hoge;
}

function fugo() {
 $b=$hoge;
}

の様なときでも、テストが終わり、本番にはいるときは必ず、
function fuga($hoge) {
}

function fugo($hoge) {
}

と関数に引数で渡します。
    • good
    • 0

出来るだけ使うべきではない、


ということはないと思います。

グローバルに指定したものはどのファンクションからでも呼び出せるので
複数のプログラムで使用する、共通のプログラムをincludeやrequireして
ファンクションが飛び飛びになる時などに役立っています。

全てグローバル変数で作成する人はいないと思いますし、
動的に変更され、どこからでも呼び出したいものである場合はとても便利です。

何事も、適材適所ですね。
    • good
    • 0

> グローバル変数はどういう時に使うのか教えてください!



ど~~~~~~~~しても、使わざるを得ない時に使います(笑)
# 果たしてそんな状況はあるのだろうか?
# 私場合はないですね。

又は、「どうせこのコードはここでしか使わないや。楽しちゃえ~」って言うとき…

と言うより、出来るだけ使うべきではありません。

ではなぜ使わない方がいいか。。
同じ変数をあちこちでグローバルで記述すると、変数の管理が大変になります。
特に関数なんかに組み込んじゃうと、絶対に(?)また同じ変数名を宣言してしまいます
# 変数名をつける法則って自然とあるでしょ?
# 例えば連番の数字なんて、$id とか。。。
それで、「何でこのコードの動きがおかしいんだ!?」
って後で悩むからです。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!