Web ベースの API からユーザー データを取得しています。データの取得を避けたいので、そのデータが必要ない場合は HTTP リクエストを作成します。コンストラクターに を取り、それを単純に格納するUserクラスを作成することを考えていました。ある時点で getter メソッドが呼び出されると、呼び出しが行われ、API からデータがフェッチされます。$userIDgetUserName()
ここで、すべての API 作業を行うサービスを作成しました。APIWrapperこのサービスをUserエンティティ クラスに接続するにはどうすればよいですか? エンティティ クラスのサービス コンテナーに依存するのは悪いスタイルだと考えられていることを読みました。これが一般的に推奨される解決策である場合、Userクラスをサービス コンテナーに依存させてサービスを呼び出し、参照によってオブジェクトAPIWrapperを渡しUser、API から取得したすべてのものをサービスに入力させるだけです。Userしかし、クラスをサービス コンテナーに依存させずにこれを行うにはどうすればよいでしょうか。
私は次のようにそれを使用できることを望んでいました:
$user1 = new User(1234);
$user2 = new User(2345);
echo $user2->getName();
API から user2 の名前を取得するだけで、user1 には何もしません。そうすれば、キャッシュも簡単に実装できるので、API を照会する必要さえありません。
そう。これを行うための最良の方法と考えられるものは何ですか?