ネクストベータ代表Blog

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

*

wpdbクラスの衝撃

   

wpdbクラスを最初に見たとき大変に驚きました。
PHP5のコードで3.6から追加されたと思われますが、非常に読みづらくむちゃくちゃ汚い。

・メソッドの中にHTMLが入っています。(なんじゃこりゃと思いました。)
・php5のマジックメソッドを使っていますが、無理やり採用した印象があります。必要のあるコードとは思えません。
・if文が大変にややこしくネストしています。非常に読みづらい印象です。
・ORマッパーの記述に危険を感じます。
・変数・定数・配列の扱いに一貫性がない。
・エスケープ処理が雑

上記はあくまで私の個人的感想で、具体的に何がどう危ないのか指摘するわけではありませんが、このコードはやばいと思います。

関数 require_wp_db() に記述されていますが、このクラスが気に入らなければ別のファイルを用意してwpdbクラスを定義していいようになっています。

WordPressはリリースアップデート、セキュリティアップデートが頻繁にあり楽観していましたが、非常に驚きました。
このクラスはWordpressの根幹を成す非常に大切なクラスだと思うのですが、なぜこんなコードになる?と首を傾げたくなります。自分でwpdbクラスを書いて置き換えたいと思います。

 - コラム