Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHPDocumentor@example用法_Php_Phpdoc_Phpdocumentor2 - Fatal编程技术网

PHPDocumentor@example用法

PHPDocumentor@example用法,php,phpdoc,phpdocumentor2,Php,Phpdoc,Phpdocumentor2,我似乎不明白如何让PHPCocumentor2@example标记正常工作 我正在尝试解析单个文件。我的工作目录是/home/developers/domains/example.com,我正在尝试解析(相对于我的工作目录)simplesamlphp/modules/example/lib/Auth/Process/RoleTrigger.php。该类文件有一个DocBloc,如下所示: /** * Trigger Role on User from Configuration. * *

我似乎不明白如何让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/
,因此,根据文档,这表明示例文件
rolemager.usage.example.php
应该位于解析文件的同一目录级别,或者位于当前项目根目录的
examples
目录中(应该是
/home/developers/domains/example.com/simplesamlphp/modules/example/lib/Auth/Process/examples/

然而,尽管我可能会尝试,但我似乎无法在生成的文档中显示该示例

我看到的似乎是,在生成页面的右侧:

Tags
example     Test Example
没有超链接,也没有显示文件内容,或者其他任何东西。只有“描述”而没有其他内容

我曾尝试使用
,但多行多级别渲染的html也是无用的:

这:

)); 打印(数组); ?>


多个嵌套的
标记使事情变得糟糕。但这是另一个问题。

当我最初发布这个问题时,碰巧PHPDocumentor v2中没有实现
@example
标记。这是一个不幸的事实,因为许多PHP文档的V2是建立在一个完全不同的基础之上的V1,并且标签仍然被移植到新的系统。 在我发布这个问题后不久,我与从事该项目的Git社区进行了联系,并为实现
@example
标记的任务做出了一点贡献

此时,标记按照预期工作,并在PHPDoc文档中定义,直到T(就我所能测试的范围而言)

我确实想到,由于这项工作现在按预期进行,这个问题(和答案)可能不再需要了。然而,我想确保我更新了它,以免有人无意中发现它并感到困惑

为完整起见,在编写本文时,语法执行如下:

/**
*@example[location][[]][]
*/
/**
*或内联{@example[location][[]]]}
*/
/**
 * Test Doc
 *
 * <code>
 * <?php
 * $array = array(
 *     1 => 'one',
 *     2 => 'two',
 * );
 * print_r($array);
 * ?>
 * </code>
 */
<p><code>
&lt;?php
$array = array(</p>
<pre><code>1 =&gt; 'one',
2 =&gt; 'two',</code></pre>
<p>);
print_r($array);
?>
</code></p>
/**
 * @example [location] [<start-line> [<number-of-lines>] ] [<description>]
 */

/**
 * Or inline {@example [location] [<start-line> [<number-of-lines>] ] [<description>]}
 */