유지 관리의 용이성과 IDE 클래스 자동 완성 및 멤버 힌트 때문에 필자는 프로젝트에서 PHPDoc을 사용했습니다. 이 예제 클래스를 감안할 때 :넷빈즈의 적절한 문서 클래스 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;
}
}
이 나는 문서로 선호 정확히 무엇이다, 그러나 넷빈즈 '자동 완성은 두 번 각 속성을 나열으로, 제대로 작동되지 않습니다. 예를 들어, $my_class_object->i
을 입력하기 시작하면 자동 완성은 두 개의 $ id 속성을 나열합니다. 하나는 내 PHPDoc에 설명되어 있고 다른 하나는 "PHPDoc을 찾을 수 없음"과 함께 알 수없는 변수로 설명됩니다.
는 넷빈즈 문제를 해결하기 위해 작동하는 솔루션이있다 - 그러나 내가 불필요하게 클러까지 우리 반을, 10 개 + 특성을 가지고 내 수업 특히 일부 그것을 생각, 각 속성 위에 @var
하는 PHPDoc 블록을 추가합니다.
내 문제 (깨끗한 의사, 적절한 Netbeans 힌트) 모두에 대한 [좋은] 해결책이 있습니까, 아니면이 문제에 대해 잘못 설명합니까?
docblock 템플릿을 인식하지 못했습니다. 때때로 변수 사용에 대한 추가 의견을 제시해야 할 필요가 있습니다. 이는 자동 완성 기능을 유지하면서 코드를 잘 문서화하는 데 도움이 될 것입니다. 감사! – Mattygabe
docblock 템플릿을 실제 docblock과 결합하여 템플릿의 정보를 개별 docbl에 "추가"할 수 있습니다. 위의 예에서, $ id에는 특정 docblock을, shared var 태그보다는 다른 정보와 함께 $ number에 다른 docblock을 넣을 수 있습니다. 결과 문서에서 두 변수 모두 int 데이터 유형을 선택합니다. – ashnazg