2

Symfony2 是否具有基于实体字段的自动 __toString() 生成,或者说应该生成 __toString() 的注释,类似于 Java Roo?

4

1 回答 1

1

我在annotations 参考下找不到这样的功能,而 Google Group 之间的共识似乎与__toString()对对象的定义一致。

如果您使用诸如 Net Beans 之类的 IDE,一个简单的CTRL+SPACE热键和单击将自动为您生成 __toString(),您只需填写对要用于表示对象的任何属性的引用。

此外,您可以更进一步,定义一个实体模板(这是我在 Net Beans 中所做的)。这样的事情可以节省你一些时间,记住 Doctrine2 是我在这个例子中的 ORM,我使用 annotations 方法来定义我的实体:

<?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}NetBeans 中的模板变量

于 2012-06-15T19:54:22.947 回答