天天看點

FOSCommentBundle功能包:與FOSUserBundle內建(投票)Step 12c: Integration with FOSUserBundle

預設狀态下,投票是匿名的。FOSUserBundle認證可以用來辨別投票。

In order to add an author to a vote, the Vote class should implement the <code>SignedVoteInterface</code> and add a field to your mapping.

為了添加投票使用者,Vote類需要實作<code>SignedVoteInterface</code>接口并添加一個字段到您的映射中。

For example in the ORM:

ORM示例:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

<code>&lt;?php</code>

<code>// src/MyProject/MyBundle/Entity/Vote.php</code>

<code>namespace</code> <code>MyProject\MyBundle\Entity;</code>

<code>use</code> <code>Doctrine\ORM\Mapping </code><code>as</code> <code>ORM;</code>

<code>use</code> <code>FOS\CommentBundle\Entity\Vote </code><code>as</code> <code>BaseVote;</code>

<code>use</code> <code>FOS\CommentBundle\Model\SignedVoteInterface;</code>

<code>use</code> <code>Symfony\Component\Security\Core\User\UserInterface;</code>

<code>/**</code>

<code> </code><code>* @ORM\Entity</code>

<code> </code><code>*/</code>

<code>class</code> <code>Vote </code><code>extends</code> <code>BaseVote </code><code>implements</code> <code>SignedVoteInterface</code>

<code>{</code>

<code>    </code><code>// .. fields</code>

<code>    </code><code>/**</code>

<code>     </code><code>* Author of the vote</code>

<code>     </code><code>*</code>

<code>     </code><code>* @ORM\ManyToOne(targetEntity="MyProject\MyBundle\Entity\User")</code>

<code>     </code><code>* @var User</code>

<code>     </code><code>*/</code>

<code>    </code><code>protected</code> <code>$voter</code><code>;</code>

<code>     </code><code>* Sets the owner of the vote</code>

<code>     </code><code>* @param string $user</code>

<code>    </code><code>public</code> <code>function</code> <code>setVoter(UserInterface </code><code>$voter</code><code>)</code>

<code>    </code><code>{</code>

<code>        </code><code>$this</code><code>-&gt;voter = </code><code>$voter</code><code>;</code>

<code>    </code><code>}</code>

<code>     </code><code>* Gets the owner of the vote</code>

<code>     </code><code>* @return UserInterface</code>

<code>    </code><code>public</code> <code>function</code> <code>getVoter()</code>

<code>        </code><code>return</code> <code>$this</code><code>-&gt;voter;</code>

<code>}</code>

本文轉自 firehare 51CTO部落格,原文連結:http://blog.51cto.com/firehare/1259600,如需轉載請自行聯系原作者