原文作者:FriendsOfSymfony
授权许可:创作共用协议
翻译人员:FireHare
校对人员:
适用版本:FOSCommentBundle 2.0.5
文章状态:草译阶段
Step 6: Integration with FOSUserBundle
By default, comments are made anonymously.FOSUserBundle authentication can be used to sign the comments.
缺省情况下,评论是匿名的。FOSUserBundle 认证可以用来标识评论。
A) Setup FOSUserBundle(安装FOSUserBundle)
First you have to setup FOSUserBundle. Check the instructions.
首先您需要安装 FOSUserBundle。请参阅说明。
B) Extend the Comment class(扩展评论类)
In order to add an author to a comment, the Comment class should implement the SignedCommentInterface
and add a field to your mapping.
为了为评论添加作者,Comment类需要实现SignedCommentInterface
接口,并添加一个字段到您的映射。
For example in the ORM:
例如,在ORM中:
<?php
// src/MyProject/MyBundle/Entity/Comment.php
namespace MyProject\MyBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use FOS\CommentBundle\Entity\Comment as BaseComment;
use FOS\CommentBundle\Model\SignedCommentInterface;
use Symfony\Component\Security\Core\User\UserInterface;
/**
* @ORM\Entity
*/
class Comment extends BaseComment implements SignedCommentInterface
{
// .. fields
/**
* Author of the comment
*
* @ORM\ManyToOne(targetEntity="MyProject\MyBundle\Entity\User")
* @var User
*/
protected $author;
public function setAuthor(UserInterface $author)
{
$this->author = $author;
}
public function getAuthor()
{
return $this->author;
}
public function getAuthorName()
{
if (null === $this->getAuthor()) {
return 'Anonymous';
}
return $this->getAuthor()->getUsername();
}
}