1

我正在使用 PHP 的 Codeigniter 框架。我想知道是否有一种方法可以使用 PHPDoc @property 在模型中加载方法以进行自动完成。

我的意思是 ....

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
  }
}

我在处理 Cakephp 时使用 NetBeans 做了类似的事情。我想知道 CodeIgniter 是否也可以这样做/

问候

4

1 回答 1

2

您需要将属性添加到您的类 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.
    }
于 2010-09-09T12:30:33.430 回答