我在C中编写了一个PHP扩展,我想创建PHPdoc文档,以便我的用户在调用我的扩展时在他们的PHP IDE(在本例中为Netbeans)中获取内联文档。
理想情况下,我希望通过在PHP代码中嵌入PHPdoc来实现这一目的,以便将实现和文档保持在一起。
假设可以将PHPdocs嵌入到C中,需要采取哪些额外步骤才能使文档出现在Netbeans中(就像PHP代码的PHP代码一样)?
编辑:
O'Reilly Programming PHP是指doc生成中使用的/* {{{ proto
注释格式,但我不确定引用的脚本是否生成PHPdocs:
不仅使用{{{proto line 在编辑器中折叠,但也是 由genfunclist和。解析 genfuncsummary脚本是其中的一部分 PHP文档项目。如果 你永远不会分发你的 延伸并没有野心 有它与PHP捆绑,你可以 删除这些评论。
答案 0 :(得分:5)
一种方法是使用具有适当PHPdocs的存根函数的PHP文件,然后不要将它包含在PHP应用程序中,但是将它添加到Netbean的PHP包含路径(在File->Project Properties->PHP Include Path
中)。
这种方式类型完成和内联文档可以工作,但PHP不会被函数的多个声明混淆。
这看起来有点hacky,因为将文档保存在与实现相同的文件中会很好,但实际上看起来确实是正确的方法,因为这是内置函数和扩展的记录方式 - 请参阅{{ 1}}
例如:
在C档案中:
~/netbeans-6.7/php1/phpstubs/phpruntime/*.php
然后在PHP文件中,存根声明:
PHP_FUNCTION(myFunctionStringFunction)
{
// extension implementation
}
答案 1 :(得分:4)
您只需在评论中使用正确的标签。
/**
* Returns the OS Languages for an Subversion ID
*
* @access public
* @param int $subVersionId Subversion ID
* @return array $results Languages for Subversion ID
*/
您可以在文档中找到所有可用的标记 PHPDoc
答案 2 :(得分:0)
我认为可以使用Reflection API来生成原型文件,但我找不到能够完全实现的现有代码。
答案 3 :(得分:0)
如扩展骨架中所述:
/* {{{ */ and /* }}} */
上一行适用于vim和emacs,因此可以正确折叠 并在源代码中展开函数。只看到相应的标记 在函数定义之前,函数的目的也是 记录。为方便起见,请遵循此惯例 其他人编辑你的代码。