2011-07-06 8 views
15

私の(PHP)クラスとその関数のドキュメントコメントをいくつかの標準形式で追加して、他の人が理解しやすいようにしたいと考えています。PHPクラスと関数のコメント?

クラスと機能のコメントを書く方法の例を教えてください。ありがとう。クラスについて

情報:

クラス名の写真:それは写真をアップロードすると、写真の表示に関連するいくつかの機能を持っています。関数名はupload(),display(),delete()です。アップロード機能について

情報:

は、サイズ変更をアップロードした画像をアップロードして、以下のようにいくつかのパラメータがあります。

<?php 
class Photos extends CI_Controller 
{ 
    public function upload($file_name, $new_name, $new_width, $new_height, $directory) 
    { 
     ... 
     ... 
     returns true or false. 
    } 
+3

これは役に立ちますか? http://www.phpdoc.org/ – Nanne

+3

IMO width引数がそのメソッドにあってはいけません。彼らはあなたのアップロード機能が単なるアップロード以上の機能を果たしていることを強く示しています(サイズ変更など) – Gordon

+0

PHPDoc構文を使用する場合は、[DocBlox](http://www.docblox-project .org)を試してみてください。これはPHP 5.3に準拠し、phpdocよりはるかに高速です。 –

答えて

35

PHPDocumentorスタイルは非常に標準的であり、ほとんどのIDEとドキュメントジェネレータで理解されています。

/** 
    * Photos 
    * 
    * 
    * @package CI 
    * @subpackage Controller 
    * @author  YOUR NAME <[email protected]> 
    */ 
    class Photos extends CI_Controller 
    { 

     /** 
     * 
     * Uploads a file 
     * 
     * @param string $file_name description 
     * @param string $new_name description 
     * @param integer $new_width description 
     * @param integer $new_height description 
     * @param string $directory description 
     * @return boolean 
     */ 
     public function upload($file_name, $new_name, $new_width, new_$height, $directory) 
     { 

     } 
    } 
+1

私は短い解説を主張し、すべての説明は余分です。 – Gordon

+0

この場合、idは同意する傾向がありますが、ほんの一例... OP shoudlはphpdoc.orgの例をチェックし、彼が使っている他のライブラリの使い方を見ています...私はCIにdocblocksが添付されていると仮定しますその内部クラス? – prodigitalson

+0

メソッドが何も返さない場合はどうなりますか? – user2957058

-1

doxygenをご覧ください。あなたが構文を守れば、自動的にドキュメントを生成できるだけでなく(実際には役に立たない)、Zend IDEは自動補完のコードヒントを与えるでしょう(つまり、関数名の入力を開始するとドキュメントが表示されます) 。

/*! \brief My Photo Class 
* Does some stuff with photos 
*/ 
class Photos extends CI_Controller 
{ 
    /*! \brief Uploads a file 
    * \param $file_name The name of the file 
    * ... 
    * \returns A value indicating success 
    */ 
    public function upload($file_name, $new_name, $new_width, new_$height, $directory) 
    { 
    ... 
    ... 
    returns true or false. 
    } 
} 
+4

-1で試すこともできます。php docを使用してください。実際にはすべてのIDEが知っている唯一の認識された標準です。 – NikiC

+0

Doxygenはphpdoc-standardsも実装しています+それはもっと多くの言語に対応しています。 – jocken

1
/** 
* A sample function docblock 
* @global string document the fact that this function uses $_myvar 
* @staticvar integer $staticvar this is actually what is returned 
* @param string $param1 name to declare 
* @param string $param2 value of the name 
* @return integer 
*/ 
function firstFunc($param1, $param2 = 'optional'){ 
} 

また、これは私がNatural Docsを使用することになり、最も知られている編集者

-3

でオートコンプリートのための参考になります。ドキュメンテーションのコメントは、人にやさしいフォーマットのおかげで、コード内で簡単に読むことができます。

<?php 

/* 
    Class: Photos 

    Some functions related to uploading the photo and displaying the photos. 
*/ 
class Photos extends CI_Controller 
{ 
    /* 
     Function: upload 

     Upload a photo to the server so that you can later <display> it. 

     Arguments: 

      file_name - name of the file 
      new_name - name of the file on the server 
      new_width - resize to this before uploading 
      new_height - resize to this before uploading 

     Returns: 

      true or false. 

     See Also: 

      <display> 
      <delete> 
    */    
    public function upload($file_name, $new_name, $new_width, new_$height, $directory) 
    { 
     ... 
     ... 
     returns true or false. 
    } 
+4

-1 php docを使用します。それがほとんどのIDEで認識される唯一の標準です。 – NikiC

+0

これを使用するとコメントが大きくなり、IDEのオートコンプリートとの互換性がなくなります。 –