0

Symfony 2.2 でフォームの 1 つにサービスを作成しようとしました:

service.yml:

tyg_user.settings.form:
    class: Symfony\Component\Form\Form
    factory_method: createNamed
    factory_service: form.factory
    arguments: 
        - tyg_user_settings
        - tyg_user_settings_name
tyg_user.settings.form.type:
    class: TyG\UserBundle\Form\Settings\SettingsFormType
    tags:
        - { name: form.type, alias: tyg_user_settings }
tyg_user.settings.form.handler:
    class: TyG\UserBundle\Form\Settings\SettingsFormHandler
    scope: request
    arguments:
        - @tyg_user.settings.form
        - @request
        - @fos_user.user_manager

SettingsForm.php

<?php

namespace TyG\UserBundle\Form\Settings;

use Symfony\Component\Form\FormBuilderInterface as FormBuilder;;
use Symfony\Component\Form\AbstractType;

class SettingsForm extends AbstractType
{

  public function buildForm(FormBuilder $builder, array $options)
  {
      $builder
        ->add('birthday', 'birthday')
        ->add('email', 'email')
        ->add('showmail')
        ->add('showbirthday')
      ;
  }

  public function getName()
  {
      return 'tyg_user_settings';
  }
}
?>

しかし、エラーが発生しました:

Could not load type "tyg_user_settings_name

これは、サービス コンテナーを介してフォームを取得したときに発生します。

$this->container->get('tyg_user.settings.form');

以前は xml 形式でサービスを作成していましたが、yml 形式に変更すると、それを機能させる方法がわかりません

4

1 に答える 1