Указать тип возвращаеммых данных для корректной автоподстановки IDE (phpStorm)?

Есть класс с методом вида
public static  function getRepository()
	{
		return self::getEM()->getRepository(get_called_class());
	}

От него наследуются другие классы, в которых уже и вызывается эта функция с автоподставленным именем класса. Например Entity\User. При этом вызове функцией возвращяется экземпляр класса Entity\Repository\User. Как заставить IDE включить автоподстановку из этого конкретного класса? Что-то вроде:
/**
	 * @return \Entity\Repository\__CLASS__
	 */
	public static  function getRepository()
	{
   ...


Возможно ли это?
  • Вопрос задан
  • 321 просмотр
Решения вопроса 1
27cm
@27cm
TODO: Написать статус
Можно сделать так:
namespace Entity;

/**
 * @method Repository\User getRepository()
 */
class User
{
    // ...
}


https://github.com/phpDocumentor/fig-standards/blo...
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
nazarpc
@nazarpc
Open Source enthusiast
Попробуйте вот такую штуку: https://youtrack.jetbrains.com/issue/WI-4478
Там нужно создавать дополнительный файл с подсказками для IDE, но в целом должно работать.
Ответ написан
Комментировать
Да, возможно:
/**
* @return static
*/
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы