15

如何在编写教程/扩展文档时使用 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>
4

3 回答 3

4

我检查了它,我认为您可以使用 javascriptMVC 文档工具。我认为文档工具
它的演示在这里。我建议你试试这个。(-:

这是 javascriptMVC 的 documentJs 的输出,这是 /i 认为你想要的东西。或者至少我希望。(-: 在此处输入图像描述



和关于 phpDocumentor 正如我所说的,我需要一些解释来理解你的意思,但现在请检查这些。链接1链接2。(如果以下是您想要的东西)。

 /** @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');
     <...>
 }
于 2013-05-01T06:43:19.103 回答
4

一旦你知道如何,这实际上很容易。您只需要在元素上设置role属性。programlisting

<programlisting role="php">
  $some = 'code';
</programlisting>

除了发布说明中的简短提及外,我在任何地方都找不到此文档,但是从查看代码来看,似乎支持四个角色:

  1. php - 将 PHP 语法高亮添加到内容中,并在每一行包含一个行号。
  2. 教程- 将 HTML 语法高亮添加到内容中,并在每一行包含一个行号。
  3. xml - 在内容周围添加pre标签,但没有语法高亮,也没有行号。
  4. html - 将内容视为原始 HTML,因此您可以使用任何您喜欢的标记。

但是,任何时候您想使用尖括号,都需要转义这些字符或将内容包装在 CDATA 部分中。这甚至适用于您想要使用原始 HTML 的情况。如果不是,解析器将尝试将内容解释为 XML。

例如,原始 HTML 示例看起来像这样:

<programlisting role="html">
  <![CDATA[
    <b>This sentence will be bold.</b>
  ]]>
</programlisting>

另请注意,所有这些都适用于phpDocumentor的初始版本。据我所知,新版本(phpDocumentor 2)似乎不支持教程/扩展文档。

于 2013-05-28T22:16:36.140 回答
-2

您可以使用 zend studio 工具,它可以自动生成选定的项目文档

于 2013-05-02T05:47:26.257 回答