4

私はCでPHP拡張機能を作成しましたが、ユーザーが拡張機能を呼び出すときにPHP IDE(この場合はNetbeans)でインラインドキュメントを取得できるように、PHPdocドキュメントを作成したいと思います。

理想的には、実装とドキュメントを一緒に保つために、CコードにPHPdocsを埋め込むことによってこれを実行したいと思います。

PHPdocsをCに埋め込むことが可能であると仮定すると、ドキュメントをNetbeansに表示するには(PHPコードのPHPdocsの場合と同様に)、どのような追加の手順が必要ですか?

編集:

O'Reilly Programming PHPは、ドキュメント生成で使用されているコメント形式を指し/* {{{ protoますが、参照されているスクリプトがPHPdocsを生成するかどうかはわかりません。

{{{proto行は、エディターでの折りたたみに使用されるだけでなく、PHPドキュメントプロジェクトの一部であるgenfunclistおよびgenfuncsummaryスクリプトによっても解析されます。拡張機能を配布する予定がなく、PHPにバンドルするという野心がない場合は、これらのコメントを削除できます。

4

4 に答える 4

5

有効なアプローチの 1 つは、適切な PHPdocs を含むスタブ関数を含む PHP ファイルを作成し、それを PHP アプリケーションに含めずに、Netbean の PHP インクルード パス ( File->Project Properties->PHP Include Path) に追加することです。

このように型補完とインライン ドキュメントは機能しますが、関数の複数の宣言によって PHP が混乱することはありません。

ドキュメントを実装と同じファイルに保存するのは良いことなので、これは少しハックに思えますが、組み込み関数と拡張機能がドキュメント化されている方法であるため、実際には正しいアプローチのようです - を参照してください~/netbeans-6.7/php1/phpstubs/phpruntime/*.php

例えば:

C ファイルの場合:

PHP_FUNCTION(myFunctionStringFunction)
{
// extension implementation
}

次に、PHP ファイルのスタブ宣言:

/**
 * My docs here
 * @param string $myString
 */
function myFunctionStringFunction($myString)
{
  die("Empty stub function for documenation purposes only.  This file shouldn't be included in an app.");
}
于 2009-07-08T10:35:49.790 に答える
4

コメント内で適切なタグを使用するだけで済みます。

 /**
 * Returns the OS Languages for an Subversion ID
 *
 * @access  public
 * @param   int         $subVersionId   Subversion ID
 * @return  array       $results        Languages for Subversion ID
 */

ドキュメントPHPDocで利用可能なすべてのタグを見つけることができます

于 2009-07-08T09:24:34.583 に答える
0

拡張スケルトンで書かれているように:

/* {{{ */ and /* }}} */ 

前の行はvimとemacsを対象としているため、ソースコード内の関数を正しく折りたたんだり展開したりできます。関数定義の直前の対応するマークを参照してください。関数の目的も文書化されています。他の人があなたのコードを編集するのに便利なように、この規則に従ってください。

于 2011-12-19T23:48:15.210 に答える
0

Reflection API を使用してプロトタイプ ファイルを生成することは可能だと思いますが、正確にそれを行う既存のコードは見つかりませんでした。

于 2010-08-28T00:53:54.380 に答える