使用PHPdoc记录PHP扩展

Joh*_*ter 4 php netbeans phpdoc php-extension

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

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

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

编辑:

O'Reilly编程PHP指的/* {{{ proto是在doc生成中使用的注释格式,虽然我不确定引用的脚本是否生成PHPdocs:

{{{proto line不仅用于在编辑器中进行折叠,还由genfunclist和genfuncsummary脚本解析,这些脚本是PHP文档项目的一部分.如果您永远不会分发您的扩展,并且没有野心将它与PHP捆绑在一起,您可以删除这些注释.

Joh*_*ter 5

一种方法是使用带有存根函数的PHP文件和适当的PHPdocs,然后不要将它包含在PHP应用程序中,但是将它添加到Netbean的PHP包含路径(in File->Project Properties->PHP Include Path)中.

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

这看起来有点hacky,因为将文档保存在与实现相同的文件中会很好,但它确实看起来是正确的方法,因为这是内置函数和扩展的记录方式 - 请参阅 ~/netbeans-6.7/php1/phpstubs/phpruntime/*.php

例如:

在C文件中:

PHP_FUNCTION(myFunctionStringFunction)
{
// extension implementation
}
Run Code Online (Sandbox Code Playgroud)

然后在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.");
}
Run Code Online (Sandbox Code Playgroud)