Symfony2 __toString()生成

时间:2012-06-15 12:08:40

标签: php symfony

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

1 个答案:

答案 0 :(得分:1)

我无法在annotations reference下找到这样的功能,Google群组之间的共识似乎与在对象上定义__toString()有关。

如果你使用像Net Beans这样的IDE,一个简单的CTRL+SPACE热键并点击会自动为你生成__toString(),你只需要为你想要使用的属性填写refence代表对象。

此外,您可以更进一步,并定义一个实体模板(这是我在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