2010-07-27 5 views
1
에 내가 PHP에서 그것을 발견하고

나는이 작업을 수행 할 경우 :Doxygen을하고 가시 키워드 PHP

class Foo{ 

    /** 
    * Does something cool 
    * @return 
    * Always returns 1 
    */ 
     public function bar() { 
     return 1; 
     } 
    } 

doxygen이이 멤버 함수 '바'

을 문서화하지 않습니다 나는 '대중'키워드를 가지고가는 경우 , 그렇습니다. 이것을 제어하는 ​​설정이 있습니까? 나는 온라인에서 봤고 이것에 대해서는 아무것도 보지 못했다.

+0

Doxygen에 관한 첫 번째 사실을 모르지만 PHPDoc의'@ return' 태그는 형식이 다르며 항상 한 줄에 있습니다. @return int는 항상 1을 반환합니다. 아마도이 형식이 효과가 있을까요? – Charles

답변

0

클래스 멤버이므로 doxygen이 클래스 내에서 멤버 함수를 볼 수 있도록 클래스에 주석을 추가해야합니다. 클래스 푸 여기

/** 
* @class Foo 
* 
* The foo class is awesome 
*/ 

전에 같은 것을 할 것은 내가 아래 링크에서 출력을 생성 (정확하게 당신 플러스 그 코멘트)을 사용하고있는 코드입니다. 도움이

<?php 

/** 
* @class Foo 
* 
* The foo class is awesome 
*/ 
class Foo{ 

    /** 
    * Does something cool 
    * @return 
    * Always returns 1 
    */ 
     public function bar() { 
     return 1; 
     } 
} 

?> 

http://raged.microsonic.org/test/html/classFoo.html

희망, 행운을 빌어 요!

위의 포스터로 var 유형을 제안하는 것이 좋습니다 (특히 문서의 경우). 필자는 일반적으로 모든 @param과 @return을 PHP에서 완전히 필요하지는 않지만 (어떤 C++ 배경에서 왔기 때문에) 일종의 변수 형으로 선언합니다. PHP에서는 C++에서 일어날 수없는 많은 "혼합 된"var 타입을 사용하는 경향이 있습니다. 어쨌든 프로젝트에 행운을 빌어 요!

+0

흠, 어떤 종류의 구문 분석 오류가 있어야합니다. 나는 모든 경고를 지웠다. 내 실제 소스 코드에서 실제로 클래스에 주석을 달았으므로 문제는 아닙니다. 실제로 문서화되는 유일한 멤버 함수는 __construct() 메서드입니다. @return 행을 1 행으로 변경해도 도움이되지 않았습니다. – Aaron

+0

기본적으로 doxygen은 visiblity 키워드가 function 키워드 앞에 놓일 때 모든 멤버 함수를 문서화하는 것을 중지한다는 사실을 재현 할 수 있습니다. 그들이 모두 '공개'일지라도. 모든 키워드 (공용, 개인, 보호)를 제거하면 doxygen이 모든 기능을 문서화합니다. 나는 어떤 이유로 정적으로 떠날 수 있습니다. EXTRACT_ALL을 YES로 설정했습니다. doxygen의 버전은 다음과 같습니다. doxygen-1.7.1, 소스 코드로 빌드했습니다. 온라인에서이 파일을 찾을 수 없으며 설정 파일에서이 문제를 수정하는 설정을 찾을 수 없습니다. – Aaron

2

Doxygen의 잘못된 버전이 실행되고있는 것으로 나타났습니다. 이미 내 경로에 doxygen이 있었고 1.3x를 가리키고있었습니다. 이제 모든 것이 작동합니다.

관련 문제