Страница 1 из 1

Phpstorm подсветка элементов массива

Добавлено: 2018.06.20, 09:06
Auramel
Хай. В общем, есть массив. Допустим

Код: Выделить всё

<?php

class A
{
	public function her()
	{
		var_dump('her');
	}
}

class B
{
	public function reh()
	{
		var_dump('reh');
	}
}

$array = [
	'a' => new A(),
	'b' => new B()
];

$array['a']->her();
$array['b']->reh();
Хотел бы написать PHPDoc, чтобы PHPStorm понимал, что элементы массива - объекты и выдавал их методы.
Имеется ли такая возможность?

Re: Phpstorm подсветка элементов массива

Добавлено: 2018.06.20, 12:01
andku83

Код: Выделить всё

/* @var $array A[]|B[] */

Re: Phpstorm подсветка элементов массива

Добавлено: 2018.06.20, 13:05
zelenin
andku83 писал(а): 2018.06.20, 12:01

Код: Выделить всё

/* @var $array A[]|B[] */
в обратном порядке

Код: Выделить всё

/* @var A[]|B[] $array*/

Re: Phpstorm подсветка элементов массива

Добавлено: 2018.06.20, 13:23
andku83
про правильность порядка спорить не буду, но в PHPStorm работает и так и так

Re: Phpstorm подсветка элементов массива

Добавлено: 2018.06.20, 14:01
zelenin
andku83 писал(а): 2018.06.20, 13:23 про правильность порядка спорить не буду, но в PHPStorm работает и так и так
а важно как правильно, а не как работает

Re: Phpstorm подсветка элементов массива

Добавлено: 2018.06.20, 14:29
andku83
zelenin писал(а): 2018.06.20, 14:01 а важно как правильно, а не как работает
Ну если говорить принципиально, то в вопросе звучало: "чтобы PHPStorm понимал" - про правильность тут речи не было. ;)

Re: Phpstorm подсветка элементов массива

Добавлено: 2018.06.20, 14:54
zelenin
andku83 писал(а): 2018.06.20, 14:29
zelenin писал(а): 2018.06.20, 14:01 а важно как правильно, а не как работает
Ну если говорить принципиально, то в вопросе звучало: "чтобы PHPStorm понимал" - про правильность тут речи не было. ;)
нужен принципиально качественный ответ, поскольку в данном случае правильность не подразумевает дополнительной сложности.

Re: Phpstorm подсветка элементов массива

Добавлено: 2018.06.21, 07:30
Auramel
спасибо, zelenin и andku83
zelenin, именно такого ответа и хотел услышать