2012-02-16 4 views
1

私はDoxygenで文書化されているいくつかのPHPコードを持っています。このコードには、私のコードが呼び出す関数であるフックがいくつかありますが、関数自体はこのコードのユーザによって定義されています。DoxygenとPHP - 実行されていないコードを解析する方法は?

フックを文書化したいのですが、関数が自分のコードに存在しないため(ユーザーが関数を定義しているだけです)、Doxygenのコメントをどこにも添付しません偽の機能

この偽の機能を定義することを避ける方法はありますか?私がC言語を使用していた場合は、関数を定義することができますが、#ifdefを使用してコンパイラから隠すことはできますが、Doxygenにはそれが表示されますが、PHPに相当するものはわかりません。理想的には、私はPHPパーサの部分で追加の努力を払わないものを望んでいます。

提案がありますか?

 
/// This is an example hook. 
/** 
* Register it with $hooks['example'][] = 'your_function_name_here'; 
* 
* @param string $dummy 
* Dummy parameter. 
*/ 
function hook_example($dummy) { }; // fake function for Doxygen 

答えて

2

PHPは#ifdefブロックをサポートしていないので、これを実行できる唯一の方法は、コメントと偽関数の宣言をとり、別の.phpファイルに入れることです。この新しいファイルをインクルードするようにDoxygenを設定しますが、残りのコードのどこにも()を含めないでください。

次に、偽の関数がドキュメントに表示されますが、PHPパーサはそれらについて決して知りません。

2

あなたは他のプログラマがあなたのフックがOOPインターフェイスと抽象クラスを使用実装する場合:これは私が文書化しようとしています、そしてどのように私はそれが偽の機能を今持っているものです。これによりコードが消毒されます。

副作用として、Doxygenは抽象メソッドを文書化するのが非常にうれしいです。

+0

ありがとうございますが、抽象クラスはこの状況では過剰です。フックは通常、共有データのないコードの2行です。そのため、クラスを宣言して登録/登録解除する関数を持つと、膨大になります。これらのフックは、迅速かつ簡単に実装することが想定されています。 – Malvineous

関連する問題