PhpStorm — самая популярная среда разработки для PHP написанная на Java/Kotlin на базе intellij.
Первая версия была выпущена еще в 2010 году и за это время мы успели создать множество фичей разного уровня сложности, однако несмотря на это некоторые базовые функции языка до сих пор остаются непокрытыми. Одна из них - механизм toString, в самом PHP его семантика похожа на семантику основных OOP языков.
В качестве задачи предлагается поработать над улучшениями поддержки этой функциональности, а именно:
Автоматический генератор toString методов для классов
Мы до сих пор не уверены, как лучше сделать данный диалог, поэтому придумывать точную постановку задачи будем вместе на основе исследований экосистемы. Документация на аналогичный функционал для IntellIJ IDEA для оценки предстоящей сложности.
Поиск использований toString метода
PHP поддерживает явную и неявную конвертацию к типу string, для классов это как раз вызовет метод toString.
Так как возможных мест, в который происходит конвертация, может быть много, в этой задаче надо будет в то числе подумать на производительностью.
Поддержка toString в debugger view
Когда пользователи PhpStorm дебажат код, они часто хотят видеть преставление объектов на основе toString.
У этой задачи тоже есть тонкости - toString метод может потенциально менять состояние программы, поэтому просто
вызывать его для показа в дебагере нельзя, надо будет подумать нам возможными вариантами.
По вопросам можно писать на kirill.smelov@jetbrains.com