6

PHPStormがコードの完了からいくつかのメソッドを隠すようにする方法を探しています。DocBlockに注釈を付けようとしましたが、それによってDocBlock@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()
    {
        // ...
    }
}

そして、私の図書館のユーザーは次のように入力しています。

<?php

myAwesomeFunction(IDoABunchOfStuff $aFoo)
{
    if($->$oFoo->[CTRL+SPACE] // invoking code completion...

ユーザーに表示されないようにすることは可能ですか(その場合はどうすればよいですか)_doBar

私が試したさまざまな注釈のどちらも、望ましい効果をもたらさないようです。

PS私はPHPStorm4.0.3を使用しています

追加:

この場合、私はArrayAccessを実装しており、offsetGet、offsetSet、offsetExists、offsetUnsetがコード完了ウィンドウを乱雑にしたくないのですが、他の場所でも同様の問題が発生しており、より一般的な質問をする必要があります。

4

1 に答える 1

2

いいえ、現在のバージョンのPhpStormではそのようなことはできません。

この目的でタグを使用することを提案するIssueTrackerのチケットがありますが、@access現在、特定のバージョンに実装される予定はありません:http: //youtrack.jetbrains.com/issue/WI-5788

投票/コメントなどをお気軽にどうぞ。もっと早く実装されるかもしれません。

于 2012-07-11T16:26:15.583 に答える