如何在编写教程/扩展文档时使用phpDocumentor编写代码块?
我已尝试<programlisting>
,它可以生成<code>
标记,但它不会解析其内容。
<refentry id="{@id}">
<refnamediv>
<refname>Guide for MyApp</refname>
<refpurpose>To demonstrate ...</refpurpose>
</refnamediv>
<refsynopsisdiv>
<author>
My Name
<authorblurb>
{@link mail@mail.com My Name}
</authorblurb>
</author>
</refsynopsisdiv>
{@toc}
<refsect1 id="{@id intro}">
<title>User Guide for MyApp</title>
<para>
Some Description
</para>
<programlisting>
$some = 'code';
</programlisting>
</refsect1>
</refentry>
答案 0 :(得分:4)
我查了一下,我认为你可以使用javascriptMVC文档工具。我thik Documentation Tool 并演示了它is here。我建议你试试这个。( - :
这里是javascriptMVC的documentJs的输出,它/我认为你想要的东西。或者至少我希望。( - :
关于phpDocumentor正如我所说,我需要一些解释来得到你的意思,但现在请检查这些。 link1。 link2。 (如果以下是你想要的东西)。
/** @type int This is a counter. */
$int = 0;
// there should be no docblock here
$int++;
或者:
/**
* This class acts as an example on where to position a DocBlock.
*/
class Foo
{
/** @type string|null Should contain a description if available */
protected $description = null;
/**
* This method sets a description.
*
* @param string $description A text with a maximum of 80 characters.
*
* @return void
*/
public function setDescription($description)
{
// there should be no docblock here
$this->description = $description;
}
}
另一个例子是在foreach中明确记录变量;许多IDE使用此信息来帮助您完成自动完成:
/** @type \Sqlite3 $sqlite */
foreach($connections as $sqlite) {
// there should be no docblock here
$sqlite->open('/my/database/path');
<...>
}
答案 1 :(得分:4)
一旦你知道如何,这实际上非常容易。您只需在role
元素上设置programlisting
属性。
<programlisting role="php">
$some = 'code';
</programlisting>
除了release notes中的简短提及之外,我无法在任何地方找到此文档,但从查看代码来看,似乎支持四种角色:
pre
个标签,但没有语法高亮,也没有行号。但是,只要您想使用尖括号,就需要转义这些字符或将内容包装在CDATA部分中。这甚至适用于您想要使用原始HTML的情况。如果没有,解析器将尝试将内容解释为XML。
例如,原始HTML示例看起来像这样:
<programlisting role="html">
<![CDATA[
<b>This sentence will be bold.</b>
]]>
</programlisting>
另请注意,所有这些都适用于 phpDocumentor 的初始版本。据我所知,新版本( phpDocumentor 2 )似乎不支持教程/扩展文档。
答案 2 :(得分:-2)
您可以使用zend studio工具自动生成所选项目文档