netbeans에 일반 변수에 대한 유형 힌트를 제공하는 방법이 있는지 궁금해서 intellisense가이를 선택합니다. 클래스 속성, 함수 매개 변수, 반환 유형 등에 대해 할 수 있다는 것을 알고 있지만 일반 변수에 대해 수행하는 방법을 알 수 없습니다. 서비스 로케이터와 같은 다른 객체 유형을 반환 할 수있는 메서드가있는 상황에서 실제로 도움이 될 것입니다.
예 :
/**
* @var Some_Service $someService
*/
$someService = ServiceLocator::locate('someService');
나중에 $ someService를 사용하는 경우 netbeans는 Some_Service 클래스에 정의 된 사용 가능한 모든 메서드를 제공합니다.
답변
한 줄이면 충분합니다.
/* @var $varName Type_Name */
NetBeans PHP 블로그 ( https://blogs.oracle.com/netbeansphp/entry/defining_a_variable_type_in) 에서이 기사를 참조하십시오.
참고 : 최소한 버전 8.2에서는; 핵심은 다음과 같습니다.
- 단일 별표 (
/*
대신/**
).- 변수 이름 뒤에 유형을 배치합니다.
- 유형 힌트 앞뒤에 아무것도 없습니다 (공백 제외, 주석이 한 줄에 있지 않은 경우에도 허용되지 않음).
답변
나는 이것이 오래된 질문이라는 것을 알고 있지만 Eclipse / Zend Studio에 대한 유사한 답변을 찾고 있었고 이것도 해결되었습니다.
**이 스타일에서 명시 적으로 열기 및 닫기가있는 단일 행에 있어야합니다.
/* @var $varName Type_Name */
다른 형식 없음 …
/**
* @var $varName Type_Name
*/
또는…
// @var $varName Type_Name
전혀 작동하는 것 같았습니다. 누군가에게 도움이되기를 바랍니다.
답변
성가신 마법 변수 를 문서화하고 싶습니까? (이 질문은 현재 Google에서 가장 높은 순위를 차지하고 있습니다. 도움이 되었기를 바랍니다.)
@property
태그를 사용하면 문서화 할 수 있습니다 마법 의 PHP 변수를 – 그 구현 사용 __get()
하고 __set()
. 태그는 클래스 정의 바로 앞의 문서에서 사용해야합니다.
/**
* Class Contact
* @property string $firstName
* @property string $lastName
*/
class Contact extends Model {
...
이 표기법은 Netbeans 8.1 및 PhpStorm 2016.1에서 테스트 된 자동 완성을 트리거합니다.
답변
이 버그 보고서 에 따르면 NetBeans 9 에서 구문이 변경됩니다 .
/* @var $variable VarType */ // vdoc1 (legacy syntax)
/** @var VarType $variable */ // vdoc (new syntax)
또한 []
객체 배열을 나타 내기 위해 클래스 이름에 추가 할 수 있다는 점을 언급 할 가치가 있습니다.
/* @var $foos Foo[] */
$foos = // ...
foreach ($foos as $foo) {
// $foo will be hinted as Foo here
}
그리고 당신의 use
진술을 잊지 마세요.use Foo;
답변
netbeans 8.0.2에서 vdoc 템플릿은 다음을 제공합니다.
/* @var $variable type */
그러나 Netbeans는 이것을 인식하지 못하며 개체에 대한 올바른 자동 완성 목록을 제공하지 않습니다. 대신 변수 선언 바로 전에 이것을 사용하십시오.
/** @var objectType $varName */
나는 주식 vdoc 템플릿, 특히 PDO 또는 PDOStatement 개체로 사용될 클래스 변수에 대한 큰 사용을 보지 못했습니다.
내가 사용하는 한 가지 해결책은 실제로 도구 / 옵션 / 편집기 / 코드 템플릿 (언어로 PHP가 선택됨)으로 이동하여 새 템플릿을 추가하는 것입니다. 나는 나의 힌트 라고 불렀다 . 그런 다음 확장 텍스트에서 다음 템플릿을 사용합니다.
/** @var ${VAR_TYPE variableFromNextAssignmentType default="ClassName"} $$${VARIABLE variableFromNextAssignmentName default="variable"} */
답변
NetBeans IDE 8.2 구문은 다음과 같습니다.
class foobar{
/** @var string $myvar: optional description here **/
protected static $myvar;
}
이것은 적어도 정적 변수에 대한 유형 힌트를 적절하게 제공합니다.