2012-04-04 11 views
0

私は、最近いくつかの引数がコメントを介してメソッドに渡された興味深いコードベースを見てきました。 もちろん、クラスをインスタンス化しているため、デフォルトのメソッドを宣言しPHP引数を渡すためのコメント

/* 
* @attribute default-method 
*/ 

のようなものが見えました。

これはなんですか?どうしたの?これの例はどこにありますか?

リターンの形式などを制御するために使用されていたので、非常に興味深いものでした。確かに、私が作成したクラスから多くのものを削除します。

+0

私が知る限り、何もしません。その行を削除するとコードは実際に動作しなくなりますか? – Tom

+0

これはドキュメンテーション目的のためだけです。 – ComFreek

答えて

1

を参照してください、実際に2つのアスタリスク

/** 
* @attribute blah 
*/ 

です。

でも、このスタイルのコメントを使用してアプリケーションロジック(しばしば属性または注釈として参照される)を実装できます。次の例を考えてみましょう。

次に、このコメントを解析して、必要な情報を入力します。

実際には、Doctrineはこの「パターン」を大きく使います。

6

引数はコメントを介してメソッドに渡されませんでした。コメントは、APIドキュメントの生成を可能にするため(そして、開発者がソースを見ているときに何が起こっているのかを簡単に見られるように)、(おそらく)PHPDocを利用しています。

はこれがもしそうなら、あなたはパラメータがまだ渡されていることがわかります、戻り値は通常通り、戻った。あなたは

?:約
/** 
* Set the data 
* 
* @access public 
* @param string $field 
* @param mixed $value 
*/ 
public function __set($field, $value) 
{ 
    $this->_data[$field] = $value; 
} 

/** 
* Get the data 
* 
* @access public 
* @param string $field 
* @return mixed 
*/ 
public function __get($field) 
{ 
    return isset($this->_data[$field]) ? $this->_data[$field] : NULL; 
} 

を話しているものの一種でありますPHPDocがコードの文書化に使用されていることだけです。

+0

私は開発のためにしばしばnetbeansを使います。さらに、 '/ **'をタイプした後でさえそれは自動的に引数からメソッドへの引数をコメントに追加します。 – Bradmage

0

それは他の人が述べたように、ドキュメントを生成するために使用することができPHP Documentor

0

このコメントはjavadocにあてはまりました。基本的にサードパーティのソフトウェアは、クラスを簡単に解析でき、コメントやメソッドシグネチャをコメントから抜粋して、かなりHTMLやpdfのドキュメントを生成することができます。以前のポスターに言及したように、コメントを使用するサードパーティのソフトウェアの1つであるphpdocを見てください。

関連する問題