Kri*_*ris 5 php code-completion phpstorm
我正在寻找一种使PHPStorm从代码完成中隐藏某些方法的方法。我试图用DocBlocks进行注释,@access private
但这并没有将它们隐藏起来。
有什么方法可以隐藏私有API,而无需编写/生成具有受限接口的存根文件并在我的项目中引用它?
例如:
可以说图书馆里面有这个:
<?php
interface IDoABunchOfStuff
{
/**
* My library users use this
*/
public function doFoo();
/**
* My Library needs this but requires that my users don't see it.
*
* @access private
* @visibility none
* @package mylib
* @internal
*/
public function doBar();
}
class Foo extends Something implements IDoABunchOfStuff
{
/**
* does foo
*/
public function doFoo()
{
// ...
}
/**
* does bar. for internal use only
*
* @access private
* @visibility none
* @package mylib
* @internal
*/
public function _doBar()
{
// ...
}
}
Run Code Online (Sandbox Code Playgroud)
我的图书馆用户正在输入:
<?php
myAwesomeFunction(IDoABunchOfStuff $aFoo)
{
if($->$oFoo->[CTRL+SPACE] // invoking code completion...
Run Code Online (Sandbox Code Playgroud)
是否可以(如果我要怎么做)使用户看不到_doBar
?
我尝试过的所有不同注解似乎都没有达到预期的效果。
PS我正在使用PHPStorm 4.0.3
额外:
在这种情况下,我正在实现ArrayAccess,并且我不希望将offsetGet,offsetSet,offsetExists和offsetUnset弄乱我的代码完成窗口,但是我在其他地方也遇到过类似的问题,足以保证问一个更笼统的问题。
不——在当前版本的 PhpStorm 中你不能做这样的事情。
Issue Tracker 上有一张票建议@access
为此目的使用标签,但目前尚未计划在任何特定版本中实施:http://youtrack.jetbrains.com/issue/WI-5788
请随意投票/评论/等等,也许它会更快实施。