我正在寻找一种方法让PHPStorm在代码补全时隐藏某些方法。我尝试使用
除了编写/生成具有有限接口的存根文件并在项目中引用它之外,是否有其他隐藏私有API的方法?
例如:
假设库中有以下内容:
@access private
来注释DocBlocks,但它并没有隐藏这些方法。除了编写/生成具有有限接口的存根文件并在项目中引用它之外,是否有其他隐藏私有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()
{
// ...
}
}
我的图书馆用户正在输入:
<?php
myAwesomeFunction(IDoABunchOfStuff $aFoo)
{
if($->$oFoo->[CTRL+SPACE] // invoking code completion...
是否有可能(如果有的话,我该如何)使我的用户永远不会看到_doBar
?
我尝试过不同的注释方法,但似乎都没有期望的效果。
P.S. 我使用的是PHPStorm 4.0.3
附加:
在这种情况下,我正在实现ArrayAccess,并且不希望offsetGet、offsetSet、offsetExists和offsetUnset混杂在我的代码完成窗口中,但我在其他地方也遇到了类似的问题,因此需要提出一个更一般化的问题。