【问题标题】:how to create phpdoc Tutorial / Extended pages to supplement commented code如何创建 phpdoc 教程/扩展页面以补充注释代码
【发布时间】:2009-08-06 23:26:12
【问题描述】:

我正在尽我所能让 phpdocumentor 允许我使用 DocBook 教程格式来补充它创建的文档:

  1. 我正在使用 Eclipse
  2. 我已经通过 PEAR 在 OSX 机器上安装了 phpDocumentor
  3. 我可以从我的 php 类运行和自动生成代码
  4. 它不会格式化教程 - 我找不到解决方案

我尝试将 .pkg 示例文件移动到整个文件结构中,在子文件夹中使用与代码中引用的包相似的名称.. 我真的很茫然 - 如果有人可以解释 WHERE他们将 .pkg 和其他 DocBook 文件与他们正在记录的代码以及它们如何触发 phpdoc 对其进行格式化有关,我将不胜感激,我目前正在使用它:

phpdoc -o HTML:Smarty:HandS
-d "/path/to/code/classes/", "/path/to/code/docs/tutorials/"
-t /path/to/output

【问题讨论】:

    标签: php documentation phpdoc


    【解决方案1】:

    我没想到会回答我自己的问题,但经过 2 天的心灵弯曲痛苦和周末的实验,这似乎是问题所在:

    本教程和我的示例应该可以工作,但是phpdoc 解释开关值的方式似乎存在一个小缺陷。这是我一直在使用的:

    phpdoc -o HTML:Smarty:HandS
    -d "/path/to/code/classes/", "/path/to/code/docs/tutorials/"
    -t /path/to/output
    

    但是,如果您使用以下内容:

        phpdoc -o HTML:Smarty:HandS 
    -d /path/to/code/classes/, /path/to/code/docs/tutorials/
    -t /path/to/output
    

    它将正确格式化您的教程和扩展文档,我所做的只是删除目录路径周围的双引号。单引号根本不起作用——因为如果没有空格,phpdoc 本身会将目录用双引号括起来……这看起来确实是 phpdoc 的一个错误,并且基于 Web 的界面也发生了相同的行为,所以它是一个内部的问题。我最初的尝试应该有效,但我没有联系开发人员并引起他们的注意。

    问题解决了。

    【讨论】:

      【解决方案2】:

      你读过this吗?

      它建议以下路径方案:tutorials/package/package.pkg 其中 package 是你的包的名称,你是这样做的吗?

      【讨论】:

      • 是的,我多次阅读文档中的那个页面。它建议使用 tutorials/package/package.pkg - 我在大约 4-5 个位置尝试了该方案 - 没有任何区别。我还尝试只使用包的个人名称,因为我无法让它工作。最初我将它设置为:/path/to/docs/tutorials/package/package.pkg 然后:/path/to/code/tutorials/package/package.pkg 然后:/path/to/tutorials/package/package .pkg 然后:/path/to/docs/tutorials/package.pkg 我认为可能还有 2-3 次 diff 尝试。
      • 这很奇怪。你检查过文件的权限了吗?
      • 你知道文件应该是什么权限吗 - 我没有检查它,我想它只需要用户可读 - 我可以尝试以 root 身份运行命令,我会检查。
      • 我正在使用位置:trunk/tutorials/package/package.pkg 并在命令行中包含 -d trunk/tutorials/。结果我得到:教程/扩展文档解析阶段 - 完成 - 所以什么也没有发生。如果它确实有效,我希望在哪里看到输出文件夹中的文档内容?
      • 想知道这是否与 .ini 文件有关 - 无法弄清楚为什么 .pkg / .proc 在文档构建时无法被识别...
      【解决方案3】:

      我在使用 .ini 进行配置时遇到了同样的问题,但对我来说,问题是我在逗号和目录之间放置了一个空格,导致目录没有“链接”到 -d 参数.

      不工作:

      directory = {$lib}/Question,{$lib}/Error, {$path}/docs/tutorials
      

      工作:

      directory = {$lib}/Question,{$lib}/Error,{$path}/docs/tutorials
      

      希望这可以解决其他人的问题!

      【讨论】:

        【解决方案4】:

        是的,您对双引号的使用可能会导致 phpDocumentor 的内部运行时参数解析失效,导致 -d /path/to/code/classes 成为一个 arg/value 对,而不包括 /path/to/code/docs/tutorials 作为附加目录值。

        通常情况下,我还发现了另外两个关于未创建教程的问题。一,教程目录不是 phpDocumentor 所期望的。第二,执行中不包含实际的 PHP 代码文件。我记得在手册中特别添加了措辞for these two scenarios

        【讨论】:

          猜你喜欢
          • 2010-10-05
          • 2015-01-16
          • 1970-01-01
          • 1970-01-01
          • 2016-07-01
          • 1970-01-01
          • 2012-04-29
          • 1970-01-01
          • 2010-12-02
          相关资源
          最近更新 更多