phpdoc, и простая магия

Тема в разделе "PHP", создана пользователем KillDead, 14 июл 2011.

Модераторы: latteo
  1. KillDead

    KillDead

    Регистр.:
    11 авг 2006
    Сообщения:
    883
    Симпатии:
    540
    Столкнулся с проблемой магии и автокомплитом в своей IDE
    Есть класс который возвращает новый класс при вызове функций, в том числе и через __call:
    HTML:
    
    class my_class{
        /**
         *
         * @param <type> $param
         * @return my_class 
         */
        public function func1($param) {
            return new my_class;
        }
        /**
         *
         * @param <type> $param
         * @return my_class 
         */
        public function func2($param) {
            return new my_class;
        }    
        /**
         *
         * @param <type> $name
         * @param <type> $arguments
         * @return my_class 
         */
        public function __call($name, $arguments) {
            return new my_class;
        }    
    }
    $class = new my_class;
    $class->func1('1')->func2('2')->func_new('3')->автокомплит_не_работает;
    После вызова неопределённой функции через call, автокомплид уже не работает. Это нормальное поведение или ide неверно парсит?
     
  2. horpah

    horpah

    Регистр.:
    21 июн 2010
    Сообщения:
    200
    Симпатии:
    55
    Это нормальное явление. При любом вызове метода через ж.. хитрым способом IDE теряются. И это не только через __Call.