2009-07-08 7 views
4

私はCでPHP拡張モジュールを作成しました。PHPdocドキュメントを作成して、私のエクステンションを呼び出すときにPHP IDE(この場合はNetbeans)でインラインドキュメントを取得します。PHPdocでPHPエクステンションを文書化する

理想的には、実装とドキュメントを一緒に保つために、PHPコードをCコードに埋め込んでください。

PHPdocsをCに埋め込むことができると仮定すると、(PHPコードのPHPdocの場合と同様に)ドキュメントをNetbeansに表示するためには何が必要ですか?

編集:私は言及スクリプトがPHPdocsを生成するかはわからないけれども

O'Reilly Programming PHPは、ドキュメントの生成に使用されている/* {{{ protoコメント形式を参照:

{{{プロトラインではありませんエディタでの折り畳みには しか使用されていませんが、 はgenfunclistで、 genfuncsummaryスクリプトは PHPドキュメンテーションプロジェクトの一部です。 エクステンションを配布せず、 にPHPをバンドルするという野望がない場合は、 これらのコメントを削除することができます。

+0

ちょっとわかりやすくするために:Cでphp拡張子を書いています(たとえば、php_hsqldb、hsqldbにアクセスする拡張機能など)。また、Cコードのコメントから作成されたドキュメントが必要です。これまでのところ? – VolkerK

+0

はい。うまくいけば、より明確になるように編集された質問。 –

答えて

5

一つのアプローチは、適切なPHPdocsとスタブ機能を備えたPHPファイルを持つことですdocumenation上で利用可能なすべてのタグを見つけることができますNetbeanのPHPインクルードパス(File->Project Properties->PHP Include Path)に追加してください。

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

これは、実装と同じファイルにドキュメントを保管すると良いかもしれないので、ちょっとハッキリなようですが、組み込みの関数と拡張が文書化されているので、実際は正しいアプローチに見えます。~/netbeans-6.7/php1/phpstubs/phpruntime/*.php

例:Cファイルで

:PHPファイル、スタブ宣言で

PHP_FUNCTION(myFunctionStringFunction) 
{ 
// extension implementation 
} 

そして、

+0

私は同じことに気付きました。 PDT(Eclipse)には、「コア」PHP関数や定数などを定義するPHPファイルがあります。 – Narcissus

4

あなたのコメントの中に適切なタグを使用する必要があります。

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

あなたはその後、PHPアプリケーションの中に含まれていない、働く PHPDoc

+3

明確にするために、私は普通のPHPコードではなく、C拡張について話しています。 –

0

Reflection APIを使用してプロトタイプファイルを生成することは可能ですが、正確には既存のコードを見つけることはできませんでした。拡張骨格に書き込まれるように

0

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

前ラインがVIMとemacsのためのものなので、正しく 倍、ソースコード内の関数を展開することができます。機能定義の前に対応するマーク を参照してください。機能の目的は と記載されています。 他のユーザーがコードを編集する便宜のため、この規約に従ってください。

関連する問題