代码之家  ›  专栏  ›  技术社区  ›  vikmalhotra

使用phpdoc@属性加载自动完成模型

  •  1
  • vikmalhotra  · 技术社区  · 15 年前

    我正在为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做了类似的事情。我想知道这样的事情是否也可以为代码点火器。/

    当做

    1 回复  |  直到 15 年前
        1
  •  2
  •   Alex    15 年前

    您需要向类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.
        }
    
    推荐文章