Php Symfony 3.1:如何扩展Symfony捆绑包的实体?
我已经实现了一个基于Symfony 3.1的论坛包,并希望对其进行增强和添加功能。到目前为止,我已经试过了;覆盖视图和语言包是可能的,但我也希望能够添加新的实体和添加新的控制器 在Php Symfony 3.1:如何扩展Symfony捆绑包的实体?,php,symfony,Php,Symfony,我已经实现了一个基于Symfony 3.1的论坛包,并希望对其进行增强和添加功能。到目前为止,我已经试过了;覆盖视图和语言包是可能的,但我也希望能够添加新的实体和添加新的控制器 在FOSUserBundle的情况下,这是可能的,因为我们可以扩展用户实体并向其添加自定义首选项,从而使调整成为可能。对于此类捆绑包,实现同样效果的最佳方法是什么 任何提示或帮助都将不胜感激 =======添加的详细信息====== 我认为扩展实体对我来说应该足够了,因为我只想添加几个新字段,比如viewCount和al
FOSUserBundle
的情况下,这是可能的,因为我们可以扩展用户实体并向其添加自定义首选项,从而使调整成为可能。对于此类捆绑包,实现同样效果的最佳方法是什么
任何提示或帮助都将不胜感激
=======添加的详细信息======
我认为扩展实体对我来说应该足够了,因为我只想添加几个新字段,比如viewCount和all。下面是我的新扩展实体:
<?php
namespace AppBundle\Entity;
use Discutea\DForumBundle\Entity\Model\BasePost;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
/**
* @ORM\Entity
* @ORM\Entity(repositoryClass="AppBundle\Repository\ForumPostRepository")
* @ORM\Table(name="df_post")
*/
class ForumPost extends BasePost
{
/**
* @ORM\Column(type="integer")
* @ORM\Column(name="views_count", type="integer", nullable=true)
*/
protected $viewCounts = 0;
/**
* Set viewCounts
*
* @param integer $viewCounts
*
* @return ForumPost
*/
public function setViewCounts($viewCounts)
{
$this->viewCounts = $viewCounts;
return $this;
}
/**
* Get viewCounts
*
* @return integer
*/
public function getViewCounts()
{
return $this->viewCounts;
}
}
首先,您需要了解您是想要扩展捆绑包还是想要更改它的一些核心功能
如果您想更改核心功能,那么我建议您对bundle进行分叉并直接处理分叉的bundle
如果只想扩展实体,则:
- 在从第三方捆绑包实体(例如:
GuestEntity
)扩展的捆绑包中创建实体(MyGuestEntity
)
- 然后,您需要找到第三方捆绑包中使用
guesttenty
的位置,并覆盖捆绑包中的该控制器
- 在控制器中替换您用(
MyGuestEntity
)覆盖的GuestEntity
)
我已经添加了到目前为止我尝试的详细信息。有什么建议吗?