wpdbクラスの衝撃
wpdbクラスを最初に見たとき大変に驚きました。
PHP5のコードで3.6から追加されたと思われますが、非常に読みづらくむちゃくちゃ汚い。
・メソッドの中にHTMLが入っています。(なんじゃこりゃと思いました。)
・php5のマジックメソッドを使っていますが、無理やり採用した印象があります。必要のあるコードとは思えません。
・if文が大変にややこしくネストしています。非常に読みづらい印象です。
・ORマッパーの記述に危険を感じます。
・変数・定数・配列の扱いに一貫性がない。
・エスケープ処理が雑
上記はあくまで私の個人的感想で、具体的に何がどう危ないのか指摘するわけではありませんが、このコードはやばいと思います。
関数 require_wp_db() に記述されていますが、このクラスが気に入らなければ別のファイルを用意してwpdbクラスを定義していいようになっています。
WordPressはリリースアップデート、セキュリティアップデートが頻繁にあり楽観していましたが、非常に驚きました。
このクラスはWordpressの根幹を成す非常に大切なクラスだと思うのですが、なぜこんなコードになる?と首を傾げたくなります。自分でwpdbクラスを書いて置き換えたいと思います。