Загрузка моделей для автозаполнения с использованием PHPDoc @property - PullRequest
1 голос
/ 08 сентября 2010

Я использую Codeigniter Framework для PHP. Мне было интересно, есть ли способ загрузить методы в модель для автозаполнения, используя свойство PHPDoc @.

Что я имею в виду ....

class abc_controller extends Controller {

  /**
   * @property Model1
   */
  function func() {
     $this->load->model("Model1"); // I am loading the model here

     $result = $this->Model1->getIds(); 
     // When I type Model1 in the statement above, it should popup 
     // an autocompletion box populated with all the methods of Model1
  }
}

Я сделал что-то подобное, используя NetBeans, работая над Cakephp. Мне было интересно, возможна ли такая вещь и для CodeIgniter /

Привет

1 Ответ

2 голосов
/ 09 сентября 2010

Вам необходимо добавить свойство в ваш класс phpdoc.Проверьте это видео http://netbeans.org/kb/docs/php/class-property-variables-screencast.html

<?php

/**
 * blah blah balh
 *
 * @property Model1 Model1
 * @property <type> <name>
 */
class abc_controller extends Controller {

    /**
     * blah blah blah
     */
    function func() {
        $this->load->model("Model1"); // I am loading the model here

        $result = $this->Model1->getIds();
        // When I type Model1 in the statement above, it should popup
        // an autocompletion box populated with all the methods of Model1
    }

}

?>

. Или, если вы получаете значение из функции со смешанным типом возврата, вам нужно сделать это следующим образом:

 function func(){
        $myObj =  $this->getMixedType();
        /* @var $myObj TypeOfMyObject */

        //  The vdoc has to be below the function call, otherwise the latest return type will be used
        //  Shortcut for generating vdoc is "vdoc" + tab
        //  For example if you have vdoc above the function call and function 
        //  returns Type1, then your object will have autocomplete for Type1.
    }
...