Использование symfony 3 Я пытаюсь расширить форму регистрации по умолчанию, следуя этому учебному пособию , но получаю ошибку пространства имен, подобную этой:
Attempted to load class "RegistrationType" from namespace "UserBundle\Form".
Did you forget a "use" statement for another namespace?
Кажется, проблема возникает в config.yaml
, и если я добавлю строку - { resource: "@UserBundle/Resources/Form/RegistrationType.php" }
, это решит проблему, пока я не обновлю страницу.Я не понимаю, почему ..
вот мое расширение формы:
<?php
namespace UserBundle\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
class RegistrationType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('firstname');
$builder->add('lastname');
}
public function getParent()
{
return 'FOS\UserBundle\Form\Type\RegistrationFormType';
}
public function getBlockPrefix()
{
return 'app_user_registration';
}
public function getName()
{
return $this->getBlockPrefix();
}
}
мой config.yml
# FOSUSerBundle
fos_user:
db_driver: orm
firewall_name: api
user_class: ApiBundle\Entity\User
from_email:
address: %client_mail%
sender_name: %client_name%
registration:
form:
type: UserBundle\Form\RegistrationType
мой пакет
namespace UserBundle;
use Symfony\Component\HttpKernel\Bundle\Bundle;
class UserBundle extends Bundle
{
public function getParent()
{
return 'FOSUserBundle';
}
}
и мой сервис
app.form.registration:
class: UserBundle\Form\RegistrationType
tags:
- { name: form.type, alias: app_user_registration }