Задать вопрос

Netbeans, автодополнение, текучий интерфейс

А как Вы решаете проблему с текучим интерфейсом?

class Shape
    {
    /** @param type $color
     * @return \Shape */
    public function setPenColor($color)
        { return $this; }
    /** @param type $color
     * @return \Shape */
    public function setBrushColor($color)
        { return $this; }
    }

class Circle extends shape
    {
    /** @param type $x
     * @param type $y
     * @return \Circle */
    public function setCenter($x, $y)
        { return $this; }
    /** @param type $radius
     * @return \Circle */
    public function setRadius($radius)
        { return $this; }
    }

$circle = (new Circle())
    ->setBrushColor($color)
    ->|;


Соответственно в NetBeans, на месте |, появляются только методы shape, а не circle и shape.

Как Вы боритесь с этой проблемой в своей IDE?
  • Вопрос задан
  • 3809 просмотров
Подписаться 3 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
Anonym
@Anonym
Программирую немного )
В phpStorm такой проблемы нет.
Ответ написан
@Melz
Да, в NetBeans такое есть, я пока нашел только 2 костыля:

1. Перечислять в return каждый класс, если классов много — замучаетесь.
return Shape|Circle

2. В доке Shape использовать method
method Circle setCenter($x, $y) Description
Ответ написан
Ваш ответ на вопрос

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

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