2012-03-17 6 views
4

클래스의 반환을 나타내는 @return을 나타내는 PHP DocBlock을 어떻게 만들 수 있습니까? 이 작업은 상당히 간단합니다.PHP docBlock @return className

/** 
* This returns an object of the "User" class 
* @return User 
*/ 
public function getUser() { return $this->user; } 

이 값을 사용하여 내 IDE에서 인텔리 센스를 얻으려면이 방법을 사용합니다. (내 경우에는 Netbeans)

그러나 변수 이름을 기반으로 클래스를 반환하는 클래스가 있습니다. (예 : :)

/** 
* This returns an object of the $param 
* @param String $className 
* @return ??? 
*/ 
public function getSomeObject($className) { return new $className(); } 

인텔리 센스를 만들려고 노력하고 있습니다. 그러나 실제로 가능하면 확실하지 않습니다.

내가

$someClass = new MyClass(); 
$var = $someClass->getSomeObject('Address'); 

전화 예를 들어 나는 (주소의 객체를 포함하는) 그것은 언급 할 의미를 만들 것

+0

고화질이란? 무엇이 표시되며 무엇을 표시하고 싶습니까? – jpic

+1

Intelissense는 IDE가 특정 기능, 클래스 등에 대한 자동 완성 및 더 많은 정보를 표시 할 수있는 가능성을 보여줍니다! [Screenshot] (http://oi42.tinypic.com/6gj413.jpg) –

+1

IDE가 무엇인지 지정해야합니다. 그에 대한 응답으로 응답 할 수 있습니다. 그러나 주소가 실제로 '주소'를 평가하지 않고 반환된다는 것을 아는 것은 불가능한 것처럼 보입니다 ... 그래서 기능이 있다면 IDE 관련이면서 phpdoc과 관련이 없습니다. – jpic

답변

3

변수 $ var에 대한 IntelliSense를 나에게 보여 내 IDE 싶습니다 다음과 같은 몇 가지 세부 사항 결국

/** 
* [...] 
* @return object 
*/ 

:

방법은 다음과 같은 개체를 반환
* @return object Object of class $className 

docs for @return을 참조하십시오.

+0

또는 더 구체적으로는 특정 수퍼 클래스의 서브 클래스, 즉 :'@return Person'이며 실제로'Employee' 또는'Musician' 또는'Sportsman','Person'을 확장 (상속)하는 클래스를 반환합니다. –

+0

마틴의 아주 좋은 점 – jpic

+0

고마워요. 그러나 나는 그 메소드의 결과를 사용하면 $ className에 대한 intelissense를 얻으려고하고 있습니다. (나는 명확하게하기 위해 나의 질문을 수정했다) –

1

당신이 모든 잠재적 인 반환 형식을 나열 할 수 있습니다하지 않는 한,

@return User|Address|Sandwich|Coiture 

, 는 IDE가 그 전체에서 집계모든 방법/속성에 자동 완성을 허용 할 수 클래스 목록을 입력하면 가능한 한 표시되지 않습니다.

관련 문제