Phpdoc: Как указать к какому классу будет цепляться трейт?
Всем привет!
У нас в проекте есть трейты, которые цепляются только к потомку определенных классов. Например AccessControllerTrait, который цепляется к потомку класса Controller.
В этом трейте мы используем методы из Controller. Но, так как трейту нельзя указать класс с которым он будет пользоваться, все методы Controller, которые юзаются в трейте, phpStorm помечает как неизвестные, автокомплит не работает, и т.п.
Можно, конечно, в AccessControllerTrait в phpdoc задекларировать методы из Controller с помощью @ method, но это придется делать в каждом терйте - это не вариант.
Есть ли способ легко и быстро сказать трейту, у кого он будет юзаться?
В трейты можно добавлять абстрактные методы, но это всего лишь более правильная альтернатива для "в phpdoc задекларировать методы из Controller с помощью @method". Все абстрактные методы можно вынести в отдельный трейт, который уже подключать в других трейтах. Но такая архитектура будет попахивать.
Есть ли способ легко и быстро сказать трейту, у кого он будет юзаться?