来自FOS \ UserBundle的UserInterface

时间:2014-09-04 13:16:25

标签: php symfony fosuserbundle

正如标题所说。我正在讨论这里使用的UserInterface。我知道,这不是Symfony2特有的,但它似乎对我来说最好,因为人们使用它,会更容易看到我的意思。

我正在创建一个UserBundle,如FOS / UserBundle文档中所述。现在我用他们的二传手和吸气器添加了一些自己的功能。到目前为止,一切都按预期工作。

现在是我的思考部分。我重写了RegistrationFormHandler,我想在其中设置$ user的一些属性。说实话,代码有效。我唯一关心的是UserInterface,因为(在这个例子中)函数setCreatedAt()没有在UserInterface中的任何地方定义。

我发现了它,因为我的IDE没有向我显示该功能的完成情况。这是我需要照顾的事吗?如果是这样......该怎么办?或者是我可以忽略的东西?

如果我在这里使用另一个UserInterface,它会向我抛出一些错误,即Succes声明不兼容。

namespace Nexo\UserBundle\Form\Handler;

use FOS\UserBundle\Form\Handler\RegistrationFormHandler as BaseHandler;
use FOS\UserBundle\Model\UserInterface;
use Symfony\Component\Validator\Constraints\DateTime;

class RegistrationFormHandler extends BaseHandler
{
  protected function onSuccess(UserInterface $user, $confirmation)
  {
    $user->setCreatedAt( new \DateTime() );
    parent::onSuccess($user, $confirmation);
  }
}

如果我不能更好地澄清自己,我很抱歉。我仍然希望这一切都有道理,有人可以帮助我。

0 个答案:

没有答案