자식 요소는이 태그가 필요한없이 부모 문서 블록 에서 거의 모든 것을 자동으로 상속해야합니다. 그렇지 않으면 모든 구현 메소드가 원래 인터페이스의 문서로 얻지 못한 채 다시 문서화되어야합니다.
간단하게하는 docblock 없이 상속 요소는 자동으로 부모의 docblock에서 모든을 상속합니다.
@inheritdoc
태그의 유일한 목적은 하나를 부모 문서 블록 (그 부모의 자세한 설명)에서 가져 오는 것을 돕는 것입니다. 아이가 이미 이것을 사용할 수 없어야하는 유일한 이유는 아이가 먼저 가서 자신의 docblock을 가진 경우입니다. 이제 자식 은이 부모 문서 블록을 복사하지 않고도 거의 모든 것을 상속해야합니다 ... 부모의 자세한 설명 제외. 가 경우 자식 docblock은 어떤 이유로 과 자신의 docblock을하기로 결정했습니다 당신이 여전히 다음, 부모의 긴 설명을 상속하려는 당신이 아이에 @inheritdoc
을 넣어 곳 부모 긴 설명이 표시되는 위치를 docblock 결정합니다. 따라서, 아동은 자신의 간단한 설명과 상세한 설명을 가질 수 있고, 여전히 도은 그 아동의 긴 설명과 관련하여 지정된 지점에 그 부모의 긴 설명을 포함한다. 이것은이 태그가 태어난 유일한 이유입니다 :-)
IDE 자동 완성과 관련해서는이 태그와 관련하여 IDE 전반에서 일관된 동작을 보았다고 말할 수는 없습니다. 또한,이 태그 이 상위 docblocks에서 상속 된 정보가 발생하는 이유 인이라는 가정이있는 프로젝트를 보았습니다.
나는 대답이 거의 다 있다고 생각하지만, 당신은 {@inheritDoc}을 의미하는지 분명히해야합니다. 중괄호는 인라인이라고 분명하게 말하면서 이것은 당신이 말했던 것처럼 긴 desc에서만 가져온다. 오용 인 {@inheritdoc}에 대한 참고 사항과 새로운 @inheritDoc 태그 (https://www.phpdoc.org/docs/latest/guides/inheritance.html#the-inheritdoc-tag)를 참조하십시오. –
'@ inheritDoc'은 문서가 의도적으로 누락되었다는 것을 독자들에게 알리기 위해 레거시 코드베이스에서 편리합니다. 문서 생성자는 편집자/Github에서 코드를 보는 사람을 필요로하지는 않습니다. (분명히 [명백하게] 명시 적으로 (https://github.com/php-fig/fig-standards/blob/master/proposed/phpdoc).md # 61-making-inheritance-explicit-inheritdoc-tag)도 초안 표준에서 사용하고 있습니다.) – Tgr