happyr / identifier-interface
该包已被废弃,不再维护。未建议替代包。
将路由映射记录在一个地方
1.0.0
2014-01-01 14:30 UTC
Requires
- php: >=5
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进行公共和内部工作。