У меня есть экземпляр stdClass. Каждое из его свойств будет экземпляром другого класса, как мне набрать это?
Для справки, если бы это был массив, который я мог бы использовать
/**
* @var Other\Class[]
*/
protected $holder;
Затем я получаю шрифты для $mainobj->holder['elem']
. Как это сделать с объектом?
Я пытался:
/**
* @var Other\Class{}
*/
Не повезло.
Вы не можете, и я думаю, что маловероятно, что какая-либо IDE будет реализовывать способ сделать это, потому что объект с неизвестными свойствами, все одного типа, не очень похож на OOP.
Ну, это действительно список ключевых значений, но я предпочитаю использовать stdClass, а не массив - он красивее, и мне не нужно использовать одинарные кавычки для доступа к элементу, что в основном связано с тем, что я делаю это так. Мне просто нужно выяснить, как набрать это.
Это означает, что вам нужно будет выбирать между несколькими символами или с типом подсказок. Ассоциативный массив является идеальной структурой для ключевых значений карт в PHP.
В PhpStorm я использую:
/** @var Other\Class $variableName */
С помощью свойств класса я оставляю $variableName
.
Other\Class
, нет? Мне нужно намекнуть, что свойства этого свойства имеют тип Other\Class
.