我正在尋找一種方法,使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塞滿了我的代碼完成窗口,但我也有類似的其他地方的問題足以保證提出更廣泛的問題。
您是否可以將「doBar」功能設爲私有? – 2012-07-11 15:25:53
@PeteHerbertPenito:不。這些類必須通過名稱空間進行通信,並擁有不同的基類。我甚至無法保護這些方法。 – Kris 2012-07-11 15:28:13