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

Gun*_*uns 3 php code-formatting autocomplete editor

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

<?php

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

class foo() {
}
Run Code Online (Sandbox Code Playgroud)

但是如果我想为魔术方法自动完成,__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
   }
}
Run Code Online (Sandbox Code Playgroud)

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

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

小智 5

您可以使用@methodphpdoc标记为魔术方法自动完成

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

<?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
      }
   }
}
Run Code Online (Sandbox Code Playgroud)

这应该很好