PHPIntel
PHP函数和对象的自动完成
详细信息
安装次数
- 总计 189K
- Win 123K
- Mac 27K
- Linux 39K
2021年8月6日 | 2021年8月5日 | 2021年8月4日 | 2021年8月3日 | 2021年8月2日 | 2021年8月1日 | 2021年7月31日 | 2021年7月30日 | 2021年7月29日 | 2021年7月28日 | 2021年7月27日 | 2021年7月26日 | 2021年7月25日 | 2021年7月24日 | 2021年7月23日 | 2021年7月22日 | 2021年7月21日 | 2021年7月20日 | 2021年7月19日 | 2021年7月18日 | 2021年7月17日 | 2021年7月16日 | 2021年7月15日 | 2021年7月14日 | 2021年7月13日 | 2021年7月12日 | 2021年7月11日 | 2021年7月10日 | 2021年7月9日 | 2021年7月8日 | 2021年7月7日 | 2021年7月6日 | 2021年7月5日 | 2021年7月4日 | 2021年7月3日 | 2021年7月2日 | 2021年7月1日 | 2021年6月30日 | 2021年6月29日 | 2021年6月28日 | 2021年6月27日 | 2021年6月26日 | 2021年6月25日 | 2021年6月24日 | 2021年6月23日 | 2021年6月22日 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 4 | 4 | 5 | 4 | 10 | 6 | 6 | 6 | 7 | 2 | 1 | 7 | 6 | 7 | 8 | 4 | 7 | 6 | 9 | 6 | 6 | 7 | 0 | 5 | 5 | 9 | 6 | 10 | 3 | 8 | 2 | 3 | 7 | 5 | 9 | 5 | 6 | 6 | 5 | 13 | 4 | 2 | 9 | 2 | 3 | 6 |
Mac | 4 | 2 | 0 | 1 | 2 | 1 | 2 | 0 | 1 | 0 | 1 | 3 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 3 | 1 | 3 | 1 | 0 | 1 | 2 | 0 | 1 | 3 | 0 | 0 | 0 | 2 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 3 | 1 | 2 | 0 | 0 | 0 |
Linux | 2 | 1 | 0 | 0 | 2 | 3 | 1 | 0 | 4 | 4 | 2 | 1 | 1 | 1 | 3 | 2 | 1 | 2 | 1 | 1 | 1 | 3 | 2 | 3 | 2 | 3 | 5 | 2 | 1 | 0 | 0 | 3 | 3 | 1 | 1 | 2 | 3 | 1 | 1 | 1 | 3 | 1 | 1 | 0 | 1 | 1 |
README
SublimePHPIntel
用于PHP项目中的代码智能的PHP代码扫描器和分析器。
Sublime Text 3:加载st3
分支以使用与Sublime Text 3兼容的版本
设置
- 使用Package Control安装
- 创建或打开包含PHP文件的工程
- 从命令调色板运行PHPIntel: 扫描项目的命令
在初次扫描后,每当您保存文件时,都会自动重新扫描PHP文件。
转向声明
要打开类声明,请将光标置于类名上并按Ctrl+f5
或Cmd+f5
魔力和工厂方法
您可以使用正则表达式匹配来教会SublimePHPIntel关于魔力和工厂方法。已经包含了为Magento和Yii框架的一些表达式。请发送包含您想包含的表达式的其他框架的拉动请求。
例如,您的代码可能有一个返回模型的工厂方法
App::getModel('modelname')->doSomething();
要完成此代码,请在配置设置(首选项 | 软件包设置 | SublimePHPIntel | 设置 - 用户)中为工厂定义模板。
工厂模式定义如下
{
"customfactories":
[
{ "pattern": "<Regular expression>", "class": "<Class name>", option, ..., option },
{ "pattern": "<Regular expression>", "class": "<Class name>", option, ..., option },
...
{ "pattern": "<Regular expression>", "class": "<Class name>", option, ..., option }
]
}
- 模式只是正则表达式。
- 类名是匹配正则表达式中捕获组的可选编号的字符串。
- 您需要对反斜杠进行双重转义以保留它们。
例如,这个:“json { "pattern": "getModel\('(.*?)'\)", "class": "Model_%1", "capitalize": true }
...will cause this:
```php
getModel('abc')
…被解释为:“php Model_Abc
**Options**
capitalize: *true|false* — *Uppercase the first letter of the captured expression*
## Known issues
I'm working on these issues:
- Variable assignment is not detected (for example: <code>$var = CODE</code> where CODE returns an object.
- Files are not removed from the index when they are deleted. For now, you'll need to rescan to remove them.
- Files added to the project from outside of the editor are not added to the index. For now, you'll either need to open the file and save it or rescan the project.
- I'm not completely happy with the way it deals with cases where the same class is declared more than once. Need to do some research to see how others deal with that.