如何使用phpDocumentor,教程/扩展文档编写代码块?

时间:2013-04-23 08:22:53

标签: php external phpdoc

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

3 个答案:

答案 0 :(得分:4)

我查了一下,我认为你可以使用javascriptMVC文档工具。我thik Documentation Tool 并演示了它is here。我建议你试试这个。( - :

这里是javascriptMVC的documentJs的输出,它/我认为你想要的东西。或者至少我希望。( - : enter image description here



关于phpDocumentor正如我所说,我需要一些解释来得到你的意思,但现在请检查这些。 link1link2。 (如果以下是你想要的东西)。

 /** @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中的简短提及之外,我无法在任何地方找到此文档,但从查看代码来看,似乎支持四种角色:

  1. php - 为内容添加了PHP语法高亮显示,并在每一行都包含一个行号。
  2. 教程 - 为内容添加HTML语法高亮显示,并在每一行中包含一个行号。
  3. xml - 在内容周围添加pre个标签,但没有语法高亮,也没有行号。
  4. html - 将内容视为原始HTML,因此您可以使用自己喜欢的任何标记。
  5. 但是,只要您想使用尖括号,就需要转义这些字符或将内容包装在CDATA部分中。这甚至适用于您想要使用原始HTML的情况。如果没有,解析器将尝试将内容解释为XML。

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

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

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

答案 2 :(得分:-2)

您可以使用zend studio工具自动生成所选项目文档