ネクストベータ代表Blog

WEBシステム SI屋の代表のブログです。

*

WordPressの変数定義など

   

グローバル変数の定義に関数を用いず、つらつら設定しています。

WordPressを読む 9 /blog/wp-includes/version.php

保守性をまったく感じません。
非常に見通しが悪いとおもいます。

そもそもグローバル変数の使用量が多すぎるような気がします。
私がPHPを学習しだしたころは PHP3で
register_globals = on
ので、変数はすべてグローバル変数でした。

PHP4になって php.iniのデフォルト設定が register_globals=off になった時も、わざわざ「on」にしなおして、過去のアプリケーションを動かしてました。

ただ、書籍やトレンドを見ると「危険なコード」とされ,PHPは大変にDISられる時代が長く続きました。
register_globals=off

は確実に守り、処理は可能な限り関数化もしくはクラス化するように記述されていました。

グローバル変数とgoto文は「悪の枢軸」とされ「絶対に使ってはダメ」で、過去のアプリはすべて書き直し、その後のアプリはグローバル変数を一切使わないコードを書いてきました。

最近はPHPをDISる記事や情報などあまり見なくなりましたが、今回、Wordpressのソースコードを読んでみて「勉強になる」反面、「何じゃこりゃ」というようなコードが多数見受けられます。PHPを15年以上使ってきて正直驚きました。PHP言語に愛着がありますがこれはマズイと思います。過去のしがらみとかいろいろあるのでしょうが、BugFIXやセキュリティホールなどで緊急アップデートがありますが、(この記事を書いている2日前に緊急アップデートがありました。)する前に、

バグが混入しないコードを書くようにする。
古いコードは見直す。

などの取り組みはどうなっているのかなと思います。
正直、やっつけコード感を感じるのは、オープンソースでリソースが足らないからなのでしょうか?
「だったらお前がやれよ」といわれたら困りますが。


定数の多重定義
定義されていない関数の呼び出し
関数化しないグローバル変数の定義など

 - コラム