Как создать ссылку на интерфейс в Doxygen для проекта PHP? - PullRequest
0 голосов
/ 06 февраля 2020

С кодом

namespace DigitalPublications\MidasWPX;

use DigitalPublications\MidasWPX\Interfaces\StyleInterface;
use DigitalPublications\MidasWPX\Interfaces\PathsManagerInterface;

/**
 *
 * @author Chris Athanasiadis <chris.k.athanasiadis@gmail.com>
 *        
 */
final class Style extends Base implements StyleInterface {

    /**
     *
     * @inheritdoc
     *
     * $config parameters:
     * <br>
     * - pathsManager {@link PathsManagerInterface PathsManagerInterface}
     */
    protected function construct(array $config = array()) {
        /**
         *
         * @internal
         * @var \DigitalPublications\MidasWPX\Interfaces\PathsManagerInterface $pathsManager
         */
        $pathsManager = $this->options->get('pathsManager', $config);
    }
}

Деталь

* - pathsManager {@link PathsManagerInterface PathsManagerInterface}

Должна была создать ссылку на интерфейс PathsManagerInterface, но вместо этого Doxygen выдает ошибку warning: unable to resolve link to 'PathsManagerInterface' for \link command.

Если я использую класс, а не интерфейс, он работает как положено.

ОБНОВЛЕНИЕ

После комментария @albert я включите также некоторую другую информацию:

Код интерфейса

namespace DigitalPublications\MidasWPX\Interfaces;

/**
 * Manager for paths
 *  
 * @author Chris Athanasiadis <chris.k.athanasiadis@gmail.com>
 *        
 */
interface PathsManagerInterface extends ManagerInterface {

}

Операционная система MacOS High Sierra

Версия Doxygen - 1.8.17

Настройки, которые изменяются значения по умолчанию:

  • OPTIMIZE_OUTPUT_FOR_ C
  • ABBREVIATE_BRIEF
  • STRIP_FROM_PATH
  • HIDE_SCOPE_NAMES
  • REC *

ОБНОВЛЕНИЕ 2

Ссылка на класс, который работает.

Класс

namespace DigitalPublications\MidasWPX;

use DigitalPublications\MidasWPX\Manager\Manager;
use DigitalPublications\MidasWPX\Interfaces\PathsManagerInterface;

/**
 *
 * @author Chris Athanasiadis <chris.k.athanasiadis@gmail.com>
 *        
 */
final class PathsManager extends Manager implements PathsManagerInterface {

    /**
     *
     * @inheritdoc
     */
    protected function initManager(array $managerConfig = array()) {
    }
}

Комментарий изменен на

* - pathsManager {@link PathsManager PathsManager}
...