有没有办法告诉PHPStorm隐藏一个方法/函数/变量/等
我正在寻找一种方法,使PHPStorm从代码完成隐藏一些方法。我试图使用@access private
注释DocBlocks,但这并不能将它们隐藏起来。有没有办法告诉PHPStorm隐藏一个方法/函数/变量/等
有没有什么办法可以隐藏私人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塞满了我的代码完成窗口,但我也有类似的其他地方的问题足以保证提出更广泛的问题。
不 - 你不能在当前版本的PhpStorm中做这样的事情。
有上建议使用@access
标签用于此目的的问题跟踪票,但目前它没有安排任何特别的版本中实现:http://youtrack.jetbrains.com/issue/WI-5788
随意投/评论/等等,也许它将尽快实施。
这很糟糕,我不得不跳过这么多的箍,没有得到实际的结果,但这是完全回答我的问题。感谢那。 – Kris 2012-07-11 16:38:42
您是否可以将“doBar”功能设为私有? – 2012-07-11 15:25:53
@PeteHerbertPenito:不。这些类必须通过名称空间进行通信,并拥有不同的基类。我甚至无法保护这些方法。 – Kris 2012-07-11 15:28:13