我对Symfony2和Doctrine的不了解有点困惑。这是我正在尝试做的事情:我有两个不同的文件,包含同一个类的类定义。我想将这两个合并到一个新的类文件中。
我有一个现有的实体类文件Foo.php
:
/**
* @ORM\Entity
* @ORM\Table(name="foo")
*/
class Foo
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue
*
* @var int
*/
protected $id;
/**
* @ORM\Column(type="string")
*
* @var string
*/
protected $name;
/**
* @param string $name
* @return void
*/
public function setName($name)
{
$this->name = (string) $name;
}
/**
* @return string name
*/
public function getName()
{
return $this->name;
}
protected function someMagic($in) {
die('no magic happens.');
}
}
和第二个具有相同名称的实体类文件Foo.php:
/**
* @ORM\Entity
* @ORM\Table(name="foo")
*/
class Foo
{
/**
* @ORM\Column(type="string")
*
* @var string
*/
protected $color;
/**
* @param string $name
* @return void
*/
public function setColor($color)
{
$this->color = $this->someColorMagic($color);
}
/**
* @return string name
*/
public function getColor()
{
return $this->color;
}
protected function someMagic($in) {
return 'magic: ' . $out;
}
}
如何将这两者合并在一起(不是在运行时,只是在安装symfony应用程序时 - 可以使用symfony控制台命令,如foobar:install
),所以我得到一个合并的类Foo
到文件FooExtended.php
,其中包含两个类的属性和方法以及保留的学说注释?
Symfony(或其中的DoctrineBundle)是否支持开箱即用的东西?或者有人能指出我如何实现这一目标的正确方向?
答案 0 :(得分:0)
现在结果是设计上的一些变化,我可以通过简单的类继承来解决我的问题。因此,在设计时不需要合并类。