私はタイプヒントかPHP7で始めるのが好きですが、実際にゲッター関数の戻り値を示しています。しかし、Doctrine/SymfonyのOne-To-Many関係では、私はまだ詰まっていて、@var
タグに何を追加するのか分かりません。Doctrine/Symfony One-To-ManyリレーションシップでgetSomethingsの戻り値は何ですか?
[...]
/**
* @var string
* @ORM\Column(name="name", type="string")
*/
private $features;
/**
* What goes into var here?
*
* One Product has Many Features.
* @ORM\OneToMany(targetEntity="Feature", mappedBy="product")
*/
private $features;
public function __construct()
{
$this->features = new ArrayCollection();
$this->name = 'New Product Name';
}
/**
* @return Collection
*/
public function getFeatures(): Collection
{
return $this->features;
}
[...]
現在、私は@var Collection
を使用しており、コレクション機能を使用できます。しかし、»返すべきものは何でしょうか?それは確かにCollection
ですか?それともArrayCollection
ですか?私はフィーチャーの機能を使用するためにFeatures[]
を使用するように誘惑されています。もし必要ならば(タイプヒントの代わりに)、それは正しいと感じません。
は何これを行うには»クリーン«/安定した方法だろうか?
提案をしてくれてありがとう! ' - > toArray()'の方法はかなりいいです(ArrayCollectionは主に 'array'のラッパーです)。私は私のIDEでゲッターテンプレートを変更し、それが動作するはずです。 'Collection | Feature []'の方法は実用的だと思うが、それは少し汚れていると感じている。私は主にAWS ElasticBeanstalkを使用していましたが、数週間前にPHP 7.1をすぐにサポートするようになったので、void戻り値の型も今は良いはずです! –