Я работаю над библиотекой PHP, и у меня есть два класса.
Первый такой:
/**
* @method static A getInstance()
*/
interface A {...}
Второй такой:
class B implements A {...}
getInstance
не определен в A, за исключением PHPDoc выше класса. Теперь моя IDE (PHPStorm) предлагает ошибку, говоря, что я должен реализовать getInstance
в Б.
Мои вопросы:
Почему они помещают этот метод в PHPDoc, даже если он не объявлен в интерфейсе? Я сомневаюсь, что это ошибка, так как они использовали один и тот же комментарий во многих других классах.
Что вы порекомендуете? я должен реализовать в B или я должен удалить комментарий PHPDoc из A?
Я думаю, что это ошибка, потому что любой из классов, которые реализуют OW_Storage
интерфейс не реализует getInstance()
метод. Вы можете убедиться в этом с помощью поиск. Это означает, что эта функция не используется.
Вы можете удалить блок doc из интерфейса, но правильный путь — сделать pull-запрос в репозитории origin.
Других решений пока нет …