我已经开始使用Flight 微框架,但所有方法都隐藏在引擎盖下(未在Flight 类中声明)。
如何配置 PHPStorm 或者我应该编写新的规则集?
更新:使用框架实例不起作用
我尝试使用框架实例,但没有成功——我在建议列表中有内部方法:
我已经开始使用Flight 微框架,但所有方法都隐藏在引擎盖下(未在Flight 类中声明)。
如何配置 PHPStorm 或者我应该编写新的规则集?
我尝试使用框架实例,但没有成功——我在建议列表中有内部方法:
首先:我建议在他们的问题跟踪器上提交新问题,要求提供某种帮助文件(如下所示)..或以任何其他方式实现它(例如通过 PHPDoc'@method
类Flight
- 不需要帮助,并且实际代码没有变化——只是 PHPDoc),因此 IDE(例如 PhpStorm 或 Netbeans)不会抱怨不存在的方法,并且您将从 IDE 获得一些代码完成帮助。
魔术很好..但当整个界面都基于这种魔术时就不行了。
关于实际问题,您可以自己解决。
您将不得不花费一些时间(半小时甚至更少)并创建一些假Flight
类并将其放在您的 IDE 中的任何位置——它将仅用于代码完成。是的,IDE 可能会警告您有关重复的类.. 但可以关闭该检查。
这个想法是创建一个类并声明所有必需的方法,如果它是一个普通类,它们应该已经完成。首先(将解决其自述文件中第一个代码示例的问题):
<?php
class Flight
{
/**
* Routes a URL to a callback function.
*
* @param string $pattern URL pattern to match
* @param callback $callback Callback function
* @param boolean $pass_route Pass the matching route object to the callback
*/
public static function route($pattern, $callback, $pass_route = false) {}
/**
* Starts the framework.
*/
public static function start() {}
}
这是它现在的样子:
正如您所看到Flight
的,IDE 表示在这个项目中有不止一个具有这样名称的类。只需告诉 PhpStorm 不要报告此类情况:
通过PHPDoc 标签向原始类添加方法:@method
/**
* Bla-bla -- class description
*
* @method static void route(string $pattern, callback $callback, bool $pass_route = false) Routes a URL to a callback function
* @method static void start() Starts the framework
*/
class Flight
{
...
}