我尝试使用FOSUserBundle,我按照文档中的说明覆盖了Bundle,但是当我尝试访问/ register时/ login工作(我没有覆盖它)时出现此错误:
Could not load type "app_user_registration"
500 Internal Server Error - InvalidArgumentException
Configurations
Symfony版本:3.1.7
FOSUserBundle版本:dev-master
My files
应用程序/配置/ services.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 /表/类型/ 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 /控制器/ 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';
}
}
如果您还需要其他帮助我,我可以编辑我的帖子 .
希望有人能帮助我 .
3 回答
你的 config.yml 文件应该是:
在
src/CoreBundle/Form/Type/RegistrationFormType.php
中,getParent()
函数应为:您可能阅读了默认打开的“1.3.x / current”文档 . 如果切换到'2.0 / master',您将获得正确版本的文档 .
我知道这是一个老问题但是当我发现它搜索同样的问题时,我分享我的解决方案,就像接受的答案,但更符合建议/官方语法:)我已经升级到symfony 3.4和FosUserBundle 2.1,现在你需要返回FQCN,如UPGRADE 2.x to 3.0中的解释
在这种情况下:
不要忘记文件顶部的使用: