昔、某SEO会社からの依頼で作った相互リンクシステムをリニューアルしてます。
もうね、何ていうか、ほぼ全てのコードを書きなおしてます。
自分で書いたコードなんだけど、数年の月日が経って今見なおしてみると「よくこれで動いてんなー」って気持ちになります。
それと同時に、自分の成長も実感できたりして、ちょっと嬉しかったりw
古いシステム(現在動いてる)の構造はこんな感じ。
index.php ←全てのアクセスはここに(!)
↓
module_***.php ←リクエストに応じて適当なモジュールを読み込み。
↓
functions.php ←全ての関数群(!)ライブラリー的な何かw
当時はMVCが何だとか、いまいち分かってなく、PHPのClassの使い方もあやふやだったので、全てのリクエストをifとswitchで切り替えて動作してました。
そして、まるで根気の塊のようなfunctions.php。全ての動作がこの一つのファイルに詰まってます。
今、考えたらアリエン仕組みです。
新しく書きなおしたらグッとシンプルになったよ。
一度、システムを稼動させているので、どこにウェイトがかかり、どこに無駄があるのか分かってきます。
そういう意味では、プロトタイプとしての役割を現在のシステムは果たしてくれています。
さて、リニューアル手順ですが。
まず、functions.php 内の関数群から、View相当とModel相当の部分を徹底的に分離しました。そして、次に重複するコードを分離&結合して、シンプルに再構成。
さらに、リクエストごとに必要なClass、関数を洗い出し、不要なコードを読み込まないようにControl相当部分を再設計しました。
結果、システム全体を構成するファイル数は増えましたが、リクエストごとのリソースは少なくなりました。
本当はユーザー配布側のスクリプトも新しくしたかったんだけど、現在のユーザーも新システムに引き継ぐということなので、配布側のスクリプトは変更なし。ただし、ホスト側では、スピードアップが計られています。
近々、公開できると思います。
以上、ちょい出しリーク情報でしたw