2

Symfony2には、Java Rooと同様に、エンティティフィールドに基づく自動__toString()生成、または__toString()を生成する必要があることを示す注釈がありますか?

4

1 に答える 1

1

アノテーションリファレンスの下にそのような機能を見つけることができず、Googleグループ間のコンセンサス__toString()はオブジェクトを定義することに賛成しているようです。

Net BeansなどのIDEを使用する場合、単純な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}NetBeansのテンプレート変数です

于 2012-06-15T19:54:22.947 に答える