gpt4 book ai didi

php - 覆盖默认的 FOSUserBundle 表单 : InvalidArgumentException

转载 作者:搜寻专家 更新时间:2023-10-31 22:10:12 27 4
gpt4 key购买 nike

我正在使用 official documentation for symfony 2.1用于覆盖默认的 FOSUserBundle 表单。但是当我试图覆盖表单处理程序时,我遇到了这个错误:

InvalidArgumentException: The service definition "test_user.form.handler.registration" does not exist.

文件列表:

<?php

// src/Test/UserBundle/Form/Handler/RegistrationFormHandler.php

namespace Test\UserBundle\Form\Handler;

use FOS\UserBundle\Form\Handler\RegistrationFormHandler as BaseHandler;
use FOS\UserBundle\Model\UserInterface;

class RegistrationFormHandler extends BaseHandler
{
protected function onSuccess(UserInterface $user, $confirmation)
{
// logic here...
parent::onSuccess($user, $confirmation);
}
}

=-=-=-=-=

# src/Test/UserBundle/Resources/config/services.yml
services:
test_user.form.handler.registration:
class: Test\UserBundle\Form\Handler\RegistrationFormHandler
arguments: ["@fos_user.registration.form", "@request", "@fos_user.user_manager", "@fos_user.mailer", "@fos_user.util.token_generator"]
scope: request
public: false

=-=-=-=-=

# app/config/config.yml
fos_user:
db_driver: orm
firewall_name: dev
user_class: Test\UserBundle\Entity\User
registration:
form:
handler: test_user.form.handler.registration

附言是的,我读过类似的问题,但没有遇到与我相同的问题。

最佳答案

仔细查看 services.yml 中的最后一行。它表示 public: false,也就是说,无法从代码访问此服务(参见 Advanced Container Configuration)。您可以执行以下两项操作之一:将 public 的值更改为 true 或删除该行,因为默认值为 true

关于php - 覆盖默认的 FOSUserBundle 表单 : InvalidArgumentException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13750026/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com