1

コメントするときに別の方法を参照することがあります。 PHPでここではいくつかの例:コメントにメソッドを表記するのに好ましい方法は何ですか?

class A 
{ 
    /** 
    * @see B::bar 
    */ 
    public function foo() 
    { 
     B::bar(); 
    } 
} 

class B 
{ 
    public static function bar() 
    { 
     // ... 
    } 
} 

だから、クラスB内の非静的メソッドbar何があるでしょうか? 他のメソッドにコメントを付ける最も良い方法は何ですか?

編集

PHPマニュアルはmysqli->affected_rowsだけでなく、PDO::beginTransactionを使用しているようです。しかし、それは方法の名前の後に括弧を含むものではありません。プロとコンは何ですか?メソッドが括弧で囲まれていることは非常に明白です。なぜ、それらを残さないのですか?

Thxで事前に!

答えて

1

演算子を使用して、クラスメソッドではなくインスタンス/オブジェクトメソッドを参照できます。 PHP.netはそのマニュアルでもそうしています(例えばMySQLi classを参照)。

+0

Thx!しかし、公式のPHPドキュメントでさえ、一貫性がありません。例えば。 http://docs.php.net/manual/en/book.pdo.phpは '::'を使用しています:/ –

+1

私はショックを受けています。私はPHP内で矛盾があることを聞いてきました。 –

1

私が書くでしょう:私の様々な変更に関する

class A { 
    // see B::bar() 
    public function foo() { 
     B::bar(); 
    } 
} 

私の最も強く保有意見は、レターボックスのコメントは悪魔の仕事であるということです。あなたの静的なものと非静的なものについては、bar()が静的​​であるかどうかに関わらず、B::bar()を理解し使用して、会話目的の関数定義を参照してください。

実際にA::foo()という関数があってもB::bar()を呼び出すことができなかった場合、私はそのコードを読んでいる人がばかだと、私は彼を助けたいとは思わない。

+0

1. Thx! 2.聞いて申し訳ありませんが、私はネイティブスピーカーではありません。 「レターボックスのコメント」とは何ですか? –

+0

レターボックスのコメント私はあなたが/ * * /を使用しているものを意味し、*文字の左境界を持っています。本当に厄介なものは、アスタリスクの大まかな上下の境界線を持っています(あなたがそれを信じることができるならば、時には正しい境界線もあります)。私はあなたがあなたの例にあるように、彼らが大いなるものを私に思い出させるので、普通のものを嫌いです。 – chaos

+1

DocBlockコメントは個人的なコーディングスタイルの問題ではなく、phpDocumentorが理解できる形式です。機能的な目的はPerlのPodとよく似ており、従うべき良い標準です。 残念ながら、混乱しているように、プログラマーの個人的なコーディングスタイルには不快感を与えることがあります。しかし、PEARとZendのコーディングスタイルガイドでは、phpDoc DockBlocksが必要です。標準に従うすべてのプログラマーは、独自のスタイルにいくつかの譲歩をする必要があります。 参照:http://manual.phpdoc.org/HTMLframesConverter/default/phpDocumentor/tutorial_phpDocumentor.howto.pkg.html#basics – racerror

1

私の意見では、あなたの例で十分です。 B :: barをB :: bar()と呼ぶべきです。

あなたは

/** 
* @uses B::bar() 
*/ 

限りドキュメントがあるとして、クラスAに戻って指して、自動的にB :: bar()のために生成されたドキュメントの@usedbyの参照を作成します@uses php-doc tagを、使用して検討する必要がありますスタティックメソッドは@use、@usedbyまたは@seeには関係なく、@staticだけに関係します。 @usesタグの静的表記は、単に@staticを示すのではなく、bar()メソッドを探すスコープを伝えます。

0

のphpDocumentorのドキュメントは、あなたがphpDocumentor manualからも

class A 
{ 
    /** 
    * @see B 
    * @see function bar() 
    */ 
    public function foo() 
    { 
    // ... 
    } 
} 

のようなものを使用することができることを意味すると思わ:

@usesため マニュアルを参照して、@seeすることは非常に似ています@ の形式と構造の詳細はを参照してください。 @usesタグ は@seeと2つの点で異なります。 @seeは 一方向リンクです。つまり、@seeタグを含む のドキュメント には、 という他のドキュメントへのリンクが含まれています。@usesタグ は、他の文書 に、@@usedbyタグを自動的に作成し、@usesタグを含む文書 にリンクしています。他の の単語では、 を除き、@seeとまったく同じです。リターンリンクが自動的に追加されます。

関連する問題