Y's note

Web技術・プロダクトマネジメント・そして経営について

本ブログの更新を停止しており、今後は下記Noteに記載していきます。
https://note.com/yutakikuchi/

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としての結果を返却します。

実装

各パートの実装はちょくちょくやっています。
本気でやったら数時間で終わりそうですね。