FormFactory をオーバーライドするのに助けが必要です。私の目標は、プロファイルを変更することです。Facebookログインも使用しているので、メール、ユーザー名、パスワードを変更させたくありません。そのため、バンドル内の ProfileController を使用して、現在のユーザーを ProfileFormType クラスに引き渡します。
私がやろうとしているのは、独自の FormFactory を実装することです。そのため、ユーザーを設定して、呼び出し内のオプション配列に入れることができます
return $this->formFactory->createNamed($this->name, $this->type, null, array('validation_groups' => $this->validationGroups, 'user' => $this->user));
これを実現するには、sevices.yml で FormFactory を定義する必要があります。
以下は FOSUserBundle の元のものです。
<service id="fos_user.profile.form.factory" class="FOS\UserBundle\Form\Factory\FormFactory">
<argument type="service" id="form.factory" />
<argument>%fos_user.profile.form.name%</argument>
<argument>%fos_user.profile.form.type%</argument>
<argument>%fos_user.profile.form.validation_groups%</argument>
</service>
エイリアスの使用法を完全に理解していないため、これを yml に変換するのは困難です。
それを正しく定義するのを手伝ってもらえますか?何かのようなもの
skt_user.profile.form.factory:
class: SKT\UserBundle\Form\Factory\FormFactory
arguments: ???