- 【PHP】下らねぇ質問はここに書き込みやがれ 3©2ch.net
956 :デフォルトの名無しさん[sage]:2016/03/11(金) 06:46:23.06 ID:i2cGi8Gp - >>952
すまんがちょっと教えてくれ includeしただけでグローバル変数がダブるってどんな状況?よくあるもの?
|
- 【PHP】下らねぇ質問はここに書き込みやがれ 3©2ch.net
960 :デフォルトの名無しさん[sage]:2016/03/11(金) 19:47:48.46 ID:i2cGi8Gp - >>957
違う includeしただけでダブるケースなんだから、 関数やclassその他の定義の内側でglobal $var;してるのではなく グローバルスコープで直接処理書いてるってことじゃん 読んだだけで副作用出るライブラリってことにならんか? どっかから拾ってきたライブラリじゃなかったとしても 普通、呼び出されたファイル自体だけがグローバルな処理書いて 他のファイルは関数・class等を提供するだけにとどめるもんじゃないんか
|
- 【PHP】下らねぇ質問はここに書き込みやがれ 3©2ch.net
963 :デフォルトの名無しさん[sage]:2016/03/11(金) 21:15:59.18 ID:i2cGi8Gp - >>961
その場合問題になるのはincludeではないだろう ・関数やclassの中で、global宣言によって特定のグローバル変数に設定などを放り込む ⇒ どのファイルに記述されているかは関係なく、includeも関係なく、特定のグローバル変数に依存していることが問題 ・メイン以外のファイルの中で、グローバル領域で変数を扱っている ⇒ includeやrequireなどで読んだだけで(関数等の定義だけではなく)何らかの処理が行われることが問題 では後者が生じる状況、そうせざるを得ない状況はどんなものか?というのが自分の質問
|
- 【PHP】下らねぇ質問はここに書き込みやがれ 3©2ch.net
969 :デフォルトの名無しさん[sage]:2016/03/11(金) 23:51:26.62 ID:i2cGi8Gp - >>964
名前空間は基本的に変数は関係ない、よってグローバル変数とは直接関わりがない >>965 956に対して「ライブラリが〜〜」とか言い出すのがそもそもおかしい 「global宣言を乱用するとコードの見通しが悪くなる。include自体が問題なのではない」と言われれば、「なるほど確かに」と答えるが 発端は、話の流れからいって「なぜグローバル変数は悪いか」に真っ当な答えがないと自分が思ったからだ
|