Netbeans(PHP)에서의 변수형 힌트
netbean에 정규 변수에 대한 유형 힌트를 줄 수 있는 방법이 있는지 궁금해서 인텔리센스가 이를 포착할 수 있습니다.클래스 속성, 함수 매개 변수, 반환 유형 등에 대해 수행할 수 있지만 일반 변수에 대해 수행할 방법을 찾을 수 없습니다.이것은 다른 오브젝트 타입(서비스 로케이터 등)을 반환할 수 있는 메서드가 있는 경우에 매우 도움이 됩니다.
예를 들어 다음과 같습니다.
/**
* @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에서는 중요한 점은 다음과 같습니다.
- 1개의 아스타리스크(
/*
대신/**
).- 변수 이름 뒤에 유형 배치
- 타이프 힌트 전후에는 아무것도 없습니다(공백은 제외합니다만, 코멘트가 1 행에 없는 경우는, 그마저도 사용할 수 없습니다.
오래된 질문인 것은 알지만, Eclipse/Zend Studio에 대해서도 비슷한 답변을 찾고 있었고, 이것으로 해결되었습니다.
**이 스타일은 개폐가 한 줄에 있어야 하는데...
/* @var $varName Type_Name */
다른 형식 없음...
/**
* @var $varName Type_Name
*/
아니면...
// @var $varName Type_Name
효과가 있는 것 같았습니다.그게 도움이 됐으면 좋겠어요.
그 성가신 마법 변수들을 기록하려는 거야?(그랬습니다.이 질문은 현재 구글에서 가장 높은 결과를 얻고 있습니다.누군가에게 도움이 되었으면 좋겠다!)
그@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;
}
이렇게 하면 적어도 정적 변수에 대한 유형 힌트를 제대로 제공할 수 있습니다.
언급URL : https://stackoverflow.com/questions/1798477/variable-type-hinting-in-netbeans-php
'programing' 카테고리의 다른 글
Windows 서버의 Maria DB 데이터 변경 (0) | 2023.01.22 |
---|---|
Optimize를 사용한 Mariadb 테이블 조각 모음 (0) | 2023.01.22 |
'dateAdded'의 기본값이 잘못되었습니다. (0) | 2023.01.22 |
원칙 2: 쿼리 작성기를 사용하여 쿼리 업데이트 (0) | 2023.01.02 |
문자열이 무작위로 보이는지, 아니면 사람이 만들어 내고 발음할 수 있는지 어떻게 확인할 수 있습니까? (0) | 2023.01.02 |