メンテナンスの容易さとIDEクラスの自動補完とメンバヒントの理由から、私は自分のプロジェクトでPHPDocを使用しました。この例のクラスを考える:(必要な場合)上記Netbeansのドキュメントクラスへの適切な方法PHP
class my_class {
public $id;
public $name;
public $number;
public function __construct() {
//Do something
}
public function Rename($name) {
$this->name = $name;
}
}
私はクラス宣言の上にあるクラスのドキュメントそのもの、とのすべてのプロパティ($id
、$name
と$number
)を文書化することを好むだろう、その後、メソッドのドキュメントを置きますそれぞれの方法。ここで私は最終的に私のクラスが見えるようにしたいものです。
/**
* Represents an example class for Stackoverflow
*
* @property int $id The id of the object
* @property string $name The name of the object
* @property int $number The number of the object
*/
class my_class {
public $id;
public $name;
public $number;
public function __construct() {
//Do something
}
/**
* Renames the object
* @param string $name Name to rename object
*/
public function Rename($name) {
$this->name = $name;
}
}
これは私がドキュメントとして持っていることを好むどのような正確には、しかし、NetBeansのオートコンプリートは、それが二回各プロパティを一覧表示して、正常に動作しません。たとえば、$my_class_object->i
と入力すると、自動完成では2つの$ idプロパティが表示されます:1つは私のPHPDocに記述されていて、もう1つは "PHPDocが見つかりません"という不明な変数です。
Netbeansの問題を解決するソリューションがあります。それぞれのプロパティの上に@var
PHPDocブロックを追加していますが、私のクラスを不必要に混乱させてしまいます。
私の問題(クリーンドック、適切なNetbeansヒント)の両方に[良い]解決策がありますか、これについて間違っていますか?
docblockテンプレートは認識しませんでしたが、変数の使用について追加のコメントを付ける必要があることもありますが、これはコードの整理に役立ちます。ありがとう! – Mattygabe
docblockテンプレートと実際のdocblockを組み合わせると、テンプレートの情報が個々のdocblockに "追加"されます。上記の例では、特定のdocblockを$ idに、別のdocblockを$ numberに置くことができます。共有varタグではなく他の情報を使用します。結果のドキュメントでは、両方の変数がintデータ型を取得します。 – ashnazg