编程语言
首页 > 编程语言> > 如何为魔术方法__call获得自动完成功能-PHP编辑器

如何为魔术方法__call获得自动完成功能-PHP编辑器

作者:互联网

我们可以在PHP编辑器中为以下类提供自动完成功能:

<?php

/**
 * Class Controller
 * @property foo foo
*/
class Controller {
   public function bar() {
      $this->foo-> // autocomplete here
   }
}

class foo() {
}

但是如果我想为__call这样的魔术方法自动完成,那怎么可能

下面的例子:

<?php

Class Controller {

   public function __call($function, $arguments) {
      if($function == 'foo') {
         // some logic here
      }
   }
}

Class Home extends Controller {
   public function somefunction() {
      $this-> // should have an autocomplete of foo
   }
}

不知道如何在PHP编辑器中配置自动完成功能

如果有某些特定的东西,我会使用PHP-Storm

解决方法:

您可以使用@method phpdoc标记来自动完成魔术方法

这是为您提供的代码示例:

<?php

/**
 * Class Controller
 * @method mixed foo() foo($parametersHere) explanation of the function
 */
Class Controller {

   public function __call($function, $arguments) {
      if($function == 'foo') {
         // some logic here
      }
   }
}

这应该很好

标签:autocomplete,editor,code-formatting,php
来源: https://codeday.me/bug/20191029/1960950.html