happyr/identifier-interface

该包已被废弃,不再维护。未建议替代包。

将路由映射记录在一个地方

1.0.0 2014-01-01 14:30 UTC

This package is auto-updated.

Last update: 2022-02-01 12:29:37 UTC


README

这个“库”并不多。它只是一个接口。该接口确保您有一个名为getId()的公共函数。

例如,您正在编写AcmeMessageBundle,其中有一个Message实体。每个Message都应该与一个User有联系。您可以写点像这样的东西

class Message
{
  private $user;

  /* ... */

  public function setUser(IdentifierInterface $user)
  {
    $this->user = $user;
  }

  /* ... */
}

class MessageSenderService
{
  /* ... */
  public function send(Message $message, IdentifierInterface $recipient)
  {
     if ($message->getUser()->getId() == $recipient->getId()) {
        throw new \Exception("You can not send a message to yourself.");
     }

     /* ... */
  }
}

当然,您可以用自己的IdentifierInterface与AcmeMessageBundle一起分发,但过一段时间您会发现您的User实体实现了太多的接口...

class User implements SymfonyUserInterface, AcmeMessageBundleIdInterface, OtherBundleInterface, AcmeDemoBundleUserInterface, CompanyBundleIdentifierInterface, MyIndentifierInterface
{
  /* ... */
}

当我们创建Symfony2包时,我们总是使用HappyR Identifier Interface进行公共和内部工作。