Internships
Register
Copyright © 2000—2025 JetBrains s.r.o.

Поддержка toString методов в PhpStorm

Description

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

Requirements

  • Обязательно только знание Java и желание разбираться в новом
  • Знакомство со принципами работы статических анализаторов кода является плюсом
  • Знакомство с IntelliJ платформой является плюсом

Admission

Разработчики: Лето 2021

Mentor

Kirill Smelov

Mentor's location

Remote

Product/Team

PhpStorm

Tags

Java