API Frameworkの設計
やりたいこと
APIのように同一の処理の流れを組み込む場合、TemplateMethodパターンを利用してFrameWork化することができると思います。
PHPのFrameWorkはたくさん世の中に出回っていると思いますが、必要用途のモノだけを揃えた軽量FrameWorkが存在しないので
自作します。
1.APIを作成する人はModelクラスだけに手を入れる。Controllerも修正可能にしますが、極力修正させたくない。
2.Validate,DB接続,View機能はFrameWorkとして揃える。
処理の流れ
1. ControllerはApplicationからリクエストされたURIを取得します。
2. ApplicationからリクエストされたURIを元に設定ファイルを読み込みます。( 設定ファイルはphpのiniファイル形式とする予定 )
3. ApplicationからリクエストされたURIを元に必要なModelクラスを読み込みます。
4. Modelクラス内部でApplicationからリクエストされたパラメータを取得します。(API作者が実装)
5. Modelクラスは取得したパラメータのvalidateを行ないます。(API作者が実装)
6.DBに接続が必要な場合はDBクラスとConnectionを張って、データを取得します。(API作者が実装)
7.ModelクラスはDBから取得したデータの整形を行ないます。(API作者が実装)
8.ControllerにModelの結果を返却します。
9.ControllerにてView用のデータ整形を行ないます。
10.ApplicationにAPIとしての結果を返却します。
実装
各パートの実装はちょくちょくやっています。
本気でやったら数時間で終わりそうですね。