OpenPNE その4at PHP
OpenPNE その4 - 暇つぶし2ch770:nobodyさん
06/11/07 00:09:09
URLリンク(mixi.jp)
global使ってる?

私がglobalをことのほか忌避する理由の大本は大体このあたりです。

で、ついでに書きますと。私は、直下でモノ(class)を作らせるとき。例え内部であろうともすべて必ず「アクセッサ経由」でのみ、変数のアタッチを許可しています(アクセッサそのものは変数を直接触りますが)。
これら(globalはNGとアクセッサを必ず使う)は、
・ミスをさせない
というよりも、もうちょっと未も蓋もなく
・ミスが発生したときに「せめて補足できるように」するため
です。
平たい話。globalな変数に「ついうっかり別所でおかしな設定をした」場合、探し出すのに苦労します。
アクセッサを使ってるのであれば、とりあえずそのおかしな情報のセッターにデバッグプリント1行ぶち込むだけで、ある程度状況が分析できます(少なくとも「変な値を入れられている」事くらいは判明するし、大体の場所も簡単に補足可能)。
このあたりの差異は小さくないと思うのですが。
特に、private修飾子などのない、PHP4においてこの発想が顕著でした。PHP5ですと、ある程度、縛りもできるのですが。

「故に」。
問題が発生したときに「面倒」なので。且つ「使わないことによる明らかなデメリット」が、現状知っているかぎりでは「ない」ので。
何らかの「明示されるデメリット」がないかぎり、私はglobalは「NG」だ、と思ってます。

これを読まれている方の何かの参考にでもなれば幸いです。


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch