Symfony 4 で外部APIサーバーの情報を利用するウェブサイトを制作しています。
API サーバーとのやり取りを簡単にするためにクラスを作り、複数のコントローラーで利用する予定です。
このクラスは PDO のようなもので、インスタンス化の際にAPIに接続し、送受信のたびに再認証を受けなくて済むような形を取っています。
サイト全体が API からの情報を中心にしているものなのでグローバル変数に近いものとしてこの接続情報を保持したいと考えています。
実際にあるメソッドではないので動作しませんが雰囲気としては次のような感じです。
($app と言うものも実際には存在しません)
php
1// アプリケーション実行時 2$app->register('api', new ApiClient('user', 'secret') ); 3 4// 各コントローラー内 5$app->service('api')->endpoint('post/index')->fetchAll()
詳しい用語はわかりませんがサービスプロバイダーというのが近いのかもしれません。
あるいはフレームワークの機能を使わずにクラスをシングルトンにしてしまって次のようにすべきなのでしょうか?
php
1$api = ApiClient::getInstance(); 2$api->endpoint('post/index')->fetchAll()
このような機能が必要な時に綺麗にまとめる方法があれば知りたいです。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。