用PHPdoc记录PHP扩展
我已经用C编写了一个PHP扩展,我想创建文档,以便我的用户在调用我的扩展时可以在他们的PHP IDE(在本例中为Netbeans)中获得内联文档 理想情况下,我希望通过在C代码中嵌入PHPDOC来实现这一点,以将实现和文档保持在一起 假设有可能将phpdoc嵌入到C中,那么需要哪些额外的步骤才能使文档出现在Netbeans中(就像PHP代码的phpdoc一样) 编辑: 引用文档生成中使用的用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
/*{{{{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函数,甚至常量等。