parameters.iniファイルに値が保存されており、モデルのprepersistメソッド中に値にアクセスする必要があります。
通常はを使用$this->container->getParameter('value');しますが、コンテナはエンティティで使用できません。
エンティティクラス内でパラメータを取得する方法はありますか?
PS値は、プリパーシスト中に情報を取得するサービスのAPIキーです。ベストプラクティスは、parameters.iniにキー/パスワードを保持することです
parameters.iniファイルに値が保存されており、モデルのprepersistメソッド中に値にアクセスする必要があります。
通常はを使用$this->container->getParameter('value');しますが、コンテナはエンティティで使用できません。
エンティティクラス内でパラメータを取得する方法はありますか?
PS値は、プリパーシスト中に情報を取得するサービスのAPIキーです。ベストプラクティスは、parameters.iniにキー/パスワードを保持することです
ベストプラクティスは、サービスを使用してエンティティを永続化することです。これは、サービスメソッドを呼び出すときにコンテナを挿入し、パラメータを設定します。updateMyEntity()
コントローラ内(または必要なもの):
$user = new User('foo');
$user->setSomeProperty('bar');
$userService->update($user);
内部UserService:
public function update(User $user) {
$user->setSomeParameter($this->container->getParameter('value'));
$this->em->persist($user);
}
Florentの回答に加えて、エンティティは純粋にデータオブジェクトであることが意図されています。彼らはあなたのアプリケーション内の他の変数やサービスについて知っているべきではありません。エンティティがシステム全体のAPIキーについて何かを知る必要がある理由についてもっと知りたいです。背景情報がほとんどないので、何をしようとしているのかを考え直すべきだと思います。
APIと対話するには、理想的にはコンテナーを介して構成されたサービスが必要です。それが実体と何の関係があるのかわかりません。