FOSUserBundle перезаписал регистрацию, но не смог загрузить ошибку типа
Я пытался использовать FOSUserBundle, я следовал инструкциям в документации по перезаписи пакета, но я получаю эту ошибку при попытке получить доступ к /зарегистрироваться, пока /логин работает (я не перезаписывал его):
Could not load type "app_user_registration"
500 Internal Server Error - InvalidArgumentException
Конфигурации
Версия для Symfony: 3.1.7
Версия FOSUserBundle: разработчик-мастер
Мой файлы
Приложение/конфигурация/службы.yml:
services:
app.form.registration:
class: CoreBundle\Form\Type\RegistrationFormType
tags:
- { name: form.type, alias: app_user_registration }
Приложение/конфигурация/config.yml:
fos_user:
db_driver: orm
firewall_name: main
user_class: CoreBundle\Entity\User
registration:
form:
type: app_user_registration
Src/CoreBundle/Form/Type/RegistrationFormType.php
<?php
// src/CoreBundle/Form/Type/RegistrationFormType.php
namespace CoreBundle\Form\Type;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
class RegistrationFormType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('name');
}
public function getParent()
{
return 'fos_user_registration';
}
public function getName()
{
return 'app_user_registration';
}
}
?>
Src/viwa/UserBundle/Controller/RegistrationController.php :
<?php
// src/viwa/UserBundle/Controller/RegistrationController.php
namespace viwa\UserBundle\Controller;
use Symfony\Component\HttpFoundation\RedirectResponse;
use FOS\UserBundle\Controller\RegistrationController as BaseController;
class RegistrationController extends BaseController
{
// Don't need to change this right now.
}
?>
Src/viwa/UserBundle/viwaUserBundle.php :
<?php
// src/viwa/UserBundle/viwaUserBundle.php
namespace viwa\UserBundle;
use Symfony\Component\HttpKernel\Bundle\Bundle;
class viwaUserBundle extends Bundle
{
public function getParent()
{
return 'FOSUserBundle';
}
}
Если вам нужно что-то еще, чтобы помочь мне, я отредактирую свой пост.
Надеюсь, кто-нибудь сможет мне помочь.
2 answers
Ваш файл config.yml должен быть:
fos_user:
db_driver: orm
firewall_name: main
user_class: CoreBundle\Entity\User
registration:
form:
type: CoreBundle\Form\Type\RegistrationFormType
В вашем src/CoreBundle/Form/Type/RegistrationFormType.php
, getParent()
функция должна быть:
public function getParent()
{
return 'FOS\UserBundle\Form\Type\RegistrationFormType';
}
Вероятно, вы читали документацию для "1.3.x/current", которая открыта по умолчанию. Если вы переключитесь на "2.0/master", вы увидите правильную версию документации.