用PHPdoc记录PHP扩展

用PHPdoc记录PHP扩展,php,netbeans,phpdoc,php-extension,Php,Netbeans,Phpdoc,Php Extension,我已经用C编写了一个PHP扩展,我想创建文档,以便我的用户在调用我的扩展时可以在他们的PHP IDE(在本例中为Netbeans)中获得内联文档 理想情况下,我希望通过在C代码中嵌入PHPDOC来实现这一点,以将实现和文档保持在一起 假设有可能将phpdoc嵌入到C中,那么需要哪些额外的步骤才能使文档出现在Netbeans中(就像PHP代码的phpdoc一样) 编辑: 引用文档生成中使用的/*{{{{proto注释格式,但我不确定引用的脚本是否生成phpdoc: {{{{{{proto-line

我已经用C编写了一个PHP扩展,我想创建文档,以便我的用户在调用我的扩展时可以在他们的PHP IDE(在本例中为Netbeans)中获得内联文档

理想情况下,我希望通过在C代码中嵌入PHPDOC来实现这一点,以将实现和文档保持在一起

假设有可能将phpdoc嵌入到C中,那么需要哪些额外的步骤才能使文档出现在Netbeans中(就像PHP代码的phpdoc一样)

编辑:

引用文档生成中使用的
/*{{{{proto
注释格式,但我不确定引用的脚本是否生成phpdoc:

{{{{{{proto-line不仅被使用 用于在编辑器中折叠,但也是 由genfunclist和 genfuncsummary脚本是 PHP文档项目的 你永远不会分发你的文件 并没有扩张的野心 将其与PHP捆绑,您可以 删除这些评论


您只需要在注释中使用正确的标记

 /**
 * Returns the OS Languages for an Subversion ID
 *
 * @access  public
 * @param   int         $subVersionId   Subversion ID
 * @return  array       $results        Languages for Subversion ID
 */
您可以在文档中找到所有可用的标记

一种有效的方法是让一个带有存根函数的PHP文件具有适当的PHPDOC,然后不将其包含在PHP应用程序中,而是将其添加到Netbean的PHP包含路径中(在
文件->项目属性->PHP包含路径中)

通过这种方式,类型完成和内联文档可以工作,但PHP不会被函数的多个声明所混淆

这似乎有点老套,因为最好将文档保存在与实现相同的文件中,但实际上这似乎是正确的方法,因为这就是内置函数和扩展的记录方式-请参见
~/netbeans-6.7/php1/phpstubs/phpruntime/*.php

例如:

在C文件中:

PHP_FUNCTION(myFunctionStringFunction)
{
// extension implementation
}
然后在PHP文件中,存根声明:

/**
 * My docs here
 * @param string $myString
 */
function myFunctionStringFunction($myString)
{
  die("Empty stub function for documenation purposes only.  This file shouldn't be included in an app.");
}

我认为使用反射API生成原型文件是可能的,尽管我找不到能够准确生成原型文件的现有代码。

如扩展框架中所述:

/* {{{ */ and /* }}} */ 
前一行用于vim和emacs,因此可以正确折叠 并在源代码中展开函数。只需查看相应的标记即可 在函数定义之前,函数的用途也是 文件化。为了方便客户,请遵守本惯例 其他人正在编辑您的代码


澄清一下:您已经用C编写了一个php扩展(例如php_hsqldb,一个访问hsqldb的扩展)。您希望从C代码中的注释创建文档。到目前为止,是吗?是的。希望编辑后的问题更清楚。为了澄清,我说的是C扩展,而不是普通的PHP代码。我注意到了同样的事情…例如,在PDT(Eclipse)中,有一大块PHP文件专门定义“核心”PHP函数,甚至常量等。