お世話になってます。
ある外部のサービスに、FuelPHPを使ってAPI経由で情報を取得したり、更新する処理を実装することになりましたが、
どのようにクラス設計をしたらいいか分からずに困っております。
取り急ぎ自分が考えた構成を下記に記します。主に使うのはcontrollerとapiとserviceです。
app/ ... ├── classes │ ├── controller │ │ ├── sample.php // apiを呼び出す処理を書く │ ├── model │ ├── api │ │ ├── base.php // 基底クラス。curlリクエストの実行やオプションの設定などの共有処理を書く │ │ ├── sample.php // コントローラが呼び出す │ └── service ├── update.php // api/sample.php が呼び出す、具体的な処理を実装する └── read.php ├── config ... └── views
PHP
1 2# かなり大まかな各クラスの主な処理 3 4Class Controller_Sample extends Controller { 5 6 $return = Api_Sample::method($params) // 何らかのパラメータを$paramsとして渡し、結果を受け取る 7 8} 9 10 11Class Api_Sample($params) { 12 13 $return = Service_Read::method($params); // Serviceの呼び出し(わざわざServiceを挟む必要性も無い気がしますが。。) 14} 15 16 17Class Service_Read($params) { 18 19 $return = Api_Base::execute($params) // Apiを実行し外部サービスにリエクストを送って、レスポンスを得る 20 21} 22
どういう構成にしたら良いか、具体的に分からない点は、
外部サービスが提供しているAPIを利用する場合、リクエストにパラメタをセットすると思います。
(例えば識別IDや契約ID,ユーザIDなど)。これらはconfigに定義してConfig::get
などで読み込めばいいと思いますが、読み込んだ値はどこでセットするのがいいでしょうか。
パラメタの数が70項目近くあるため、専用クラスを作った方がいいと思いますが、そのクラスの使い方が分からず、、
単純にclassesの下にformディレクトリを設け、その中に処理単位のクラスを作ってsetter/getterを定義して、api/sampleクラスからnewで呼び出すだけでいいのでしょうか。
大雑把で分かりにくいと思いますが、何かしらでもアドバイスいただけると助かります。
不明点があれば追記します。
何卒よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/02/10 05:24