PhpStormの擬似ジェネリクス
しかし、残念ながら過去(2021年以前)の古いPhpStormはこの形式の型表記をサポートしていませんでした。 code:php
/**
* @return ArrayObject|DateTime[]
*/
function get_datetimes(): ArrayObject
{
}
$datetimes = get_datetimes();
foreach ($datetimes as $datetime) {
$datetime->▌
}
$datetimes->▌
▌の位置で補完を開始すると、上はDateTimeのメソッドが、下はArrayObjectのメソッドがサジェストされます
かつては、「PhpStormユーザーが多い環境ではこう書かざるを得ない… ぐぬぬ…」という状況でした。
以上の理由から、これは2021年頃まで使われていたバッドノウハウです。 現在のPhpStorm(2021.2移行)は問題なくサポートしていますので、大手を振って ArrayObject<DateTime> とか iterable<DateTime> とか書くようにしてみてください