Symfony2是否有一个基于实体字段的自动__toString()生成,或者一个注解来说明应该生成__toString(),类似于Java Roo?
发布于 2012-06-16 03:54:23
我在annotations reference下找不到这样的特性,谷歌团队的共识似乎是在对象上定义__toString()。
如果你使用像Net Beans这样的集成开发环境,一个简单的CTRL+SPACE热键和点击就会自动为你生成__toString(),你只需要填写你想用来表示对象的任何属性的引用。
此外,您还可以更进一步,定义一个实体模板(这就是我在Net Beans中所做的)。这样可以节省您的时间,请记住,在本例中Doctrine2是我的ORM,并且我使用注释方法来定义我的实体:
<?php
namespace Foo\BarBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
//use Doctrine\Common\Collections\ArrayCollection;
/**
* @ORM\Entity
*/
class ${name}
{
/**
* @ORM\Id @ORM\Column(type="integer")
* @ORM\GeneratedValue
*/
protected $id;
public function __toString()
{
//return $this->get();
}
}这会自动填充类名并将ArrayCollection注释掉(因此,如果实体需要的话,我可以很容易地将其添加进去)。这将使您只需填充想要用于__toString();的任何方法的其余部分
${name}是一个template variable in NetBeans。
https://stackoverflow.com/questions/11050363
复制相似问题