1. ホーム
  2. php

オブジェクトの配列に対する関数の戻り値のヒンティング (PHP7)

2023-09-14 10:56:15

質問

PHP 7の新機能にはとても満足しています。しかし、PHP 7でオブジェクトの配列を返す方法について混乱しています。

例えば、クラス Item があり、このクラスのオブジェクトの配列を関数から返したい場合。

function getItems() : Item[] {
}

しかし、この方法ではうまくいきません。

どのように解決するのですか?

おっしゃることはよくわかるのですが、答えは残念ながら「できない」です。PHP7ではそのような表現ができないので、関数は "array"(汎用配列)を返すように宣言するか、Itemの配列である新しいクラス ItemArrayを作成する必要があります(ただしその場合、自分でコーディングする必要があります)。

現在、"Item"のインスタンスの配列が欲しいということを表現する方法はありません。

EDIT: 追加の参考として、ここで の配列(array of" RFC) の配列がありますが、いろいろな事情で断られています。