Я не могу понять, как заставить теги PHPCocumentor2 @example
работать правильно.
Я пытаюсь разобрать один файл. Мой рабочий каталог /home/developers/domains/example.com
, и я пытаюсь разобрать (относительно моего рабочего каталога) simplesamlphp/modules/example/lib/Auth/Process/RoleTrigger.php
. Этот файл класса имеет DocBloc, который выглядит так:
/**
* Trigger Role on User from Configuration.
*
* @example "RoleManager.usage.example.php" Test Example
*/
public function process() { /* ... */ }
Когда я запускаю команду для анализа только этого файла с максимальной детализацией (phpdoc -f simplesamlphp/modules/example/lib/Auth/Process/RoleTrigger.php -t httpdocs/test -vvv
), PhpDoc указывает, что текущим корнем проекта является /home/developers/domains/example.com/simplesamlphp/modules/example/lib/Auth/Process/
, поэтому, согласно документации, это указывает, что пример файла RoleManager.usage.example.php
должен быть расположен либо на том же уровне каталога, проанализированный файл или в каталоге examples
текущего корня проекта (который будет /home/developers/domains/example.com/simplesamlphp/modules/example/lib/Auth/Process/examples/
).
Однако, как бы я ни старался, я не могу заставить пример отображаться в сгенерированной документации.
Все, что я, кажется, получаю, находится в правой части сгенерированной страницы:
Tags
example Test Example
Без гиперссылки, отображения содержимого файла и прочего. Просто "Описание" и ничего больше.
Я попытался использовать <code>
, но несколько строк с несколькими уровнями отображают неработающий html, который также бесполезен:
Этот:
/**
* Test Doc
*
* <code>
* <?php
* $array = array(
* 1 => 'one',
* 2 => 'two',
* );
* print_r($array);
* ?>
* </code>
*/
Отображает следующий HTML:
<p><code>
<?php
$array = array(</p>
<pre><code>1 => 'one',
2 => 'two',</code></pre>
<p>);
print_r($array);
?>
</code></p>
Несколько вложенных тегов <code>
и <pre>
, которые делают что-то ужасное. Но это другой вопрос.