Как поместить блоки PHP-кода в PHPDoc DocBlock

Я играю с PHPDoc и понял, что вы можете использовать уценку, чтобы добавить некоторое форматирование в DocBlock. В частности, я замечаю, что вы можете использовать обратные тики, чтобы выделить встроенный код.

Тем не менее, я не могу понять, как добавить блоки кода в DocBlock, поскольку использование 4 пробелов не работает.

Я также пробовал использовать <code> и <pre> , и пока эти теги появляются в сгенерированной документации, код внутри них комментируется с комментариями HTML.

Например, этот DocBlock:

 /** * This is a test DocBlock * * <pre> * <?php * echo('hi'); * ?> * </pre> * * @return object[] An array of objects. */ 

Создает этот HTML:

 <pre> <!--?php echo('hi'); ?--> </pre> 

Где я иду не так? Как добавить блок кода в DocBlock?

phpdocumentor использует gytub-вариант уценки.

Правильный способ добавления кода:

 /** * This is a test DocBlock * * ```php * echo('hi'); * ``` * * @return ... */ 

Я не думаю, что вы должны добавить <?php , я бы предположил, что он отключит его при разборе. Видя phpdoc, вы, вероятно, можете пропустить его все вместе.

пытаться

  * <code> * echo('hi'); * </code> 

В руководстве phpDocumentor указано, что для описаний

вы можете отформатировать свой текст в соответствии с Markdown , а точнее, Markdown от Github . Используя этот формат, легко сделать текст полужирным шрифтом, добавить примеры встроенных кодов или легко создать ссылки на другие сайты. – Внутри DocBlocks

PSR-5 PHPDoc говорит для описания

Любое приложение, анализирующее описание, РЕКОМЕНДОВАНО для поддержки языка разметки Markdown для этого поля, чтобы автор мог обеспечить форматирование и четкий способ представления примеров кода. – Описание

И эти теги

ДОЛЖЕН поддерживать Markdown как язык форматирования. Из-за характера Markdown законно начинать описание тега на той же или последующей строке и интерпретировать его таким же образом. – Тег

Пример PHPDoc с использованием Github-Flavored Markdown

 /** * This is a Summary. * * This is a Description. It may span multiple lines * or contain 'code' examples using the _Markdown_ markup * language. * * It's very easy to make some words **bold** and other * words *italic* with Markdown. You can even * [link to Google!](http://google.com). * * Here's an example of how you can use syntax * highlighting with GitHub Flavored Markdown: * * ``` * <?php * echo "Hello, world."; * ?> * ``` * * You can also simply indent your code by four spaces: * * <?php * echo "Hello, world."; * ?> * * @see Markdown * * @param int $parameter1 A parameter description. * @param \Exception $e Another parameter description. * * @\Doctrine\Orm\Mapper\Entity() * * @return string */ function test($parameter1, $e) { ... } 

Вы должны иметь возможность использовать: –

 /** * This is a test DocBlock * * <pre> * &lt;?php * echo('hi'); * ?&gt; * </pre> * * @return object[] An array of objects. */