Я предполагал, что многократная подсказка не возможна. Тем не менее, я видел этот конструктор в Документация по Symfony API документация.
__construct(array $options = array(), AbstractProxy|NativeSessionHandler|SessionHandlerInterface|null $handler = null, MetadataBag $metaBag = null)
По второму параметру кажется, что возможно несколько типов. Может кто-нибудь объяснить, что я вижу?
Это хороший вопрос, хотя ответ на самом деле не является подсказкой типа в языковом смысле. Больше документации
Где это определено в источнике, без подсказки типа
public function __construct(array $options = array(), $handler = null, MetadataBag $metaBag = null)
Где функциональность существует, где она просто проверяет instanceof для всех подсказок типа, перечисленных в документации
if (!$saveHandler instanceof AbstractProxy &&
!$saveHandler instanceof NativeSessionHandler &&
!$saveHandler instanceof \SessionHandlerInterface &&
null !== $saveHandler) {
throw new \InvalidArgumentException('Must be instance of AbstractProxy or NativeSessionHandler; implement \SessionHandlerInterface; or be null.');
}
Эти подсказки используются IDE для проверки целостности кода, как упомянуто в комментариях Pazi.
Более подробную информацию можно найти здесь
http://www.phpdoc.org/docs/latest/guides/types.html
Чтобы иметь возможность отслеживать, какие типы могут использоваться в значении, вы можете использовать
труба, или оператор ИЛИ (|) для разделения каждого типа, который связан
значение может быть.В следующем примере метод или функция вернет либо
строка или ноль в качестве значения:/ ** @return string | null * / Большинство IDE распознают этот формат как
ну и предлагаем автозаполнение
Других решений пока нет …