Doxygen和PHP-如何解析未运行的代码?

Doxygen和PHP-如何解析未运行的代码?,php,doxygen,Php,Doxygen,我有一些用Doxygen编写的PHP代码。在这段代码中,有许多钩子,这些钩子是我的代码调用的函数,但函数本身是由这段代码的用户定义的 我想记录钩子,但是因为函数不存在于我的代码中(用户定义函数,我的代码只是调用它们),所以我没有地方可以附加Doxygen注释,除非我定义了一个伪函数 有什么方法可以避免定义这个假函数吗?如果我使用C,我可以定义函数,但使用#ifdefs对编译器隐藏它(但仍让Doxygen看到),但我不确定PHP中的等价物是什么。理想情况下,我想要的东西不会导致PHP解析器的任何额

我有一些用Doxygen编写的PHP代码。在这段代码中,有许多钩子,这些钩子是我的代码调用的函数,但函数本身是由这段代码的用户定义的

我想记录钩子,但是因为函数不存在于我的代码中(用户定义函数,我的代码只是调用它们),所以我没有地方可以附加Doxygen注释,除非我定义了一个伪函数

有什么方法可以避免定义这个假函数吗?如果我使用C,我可以定义函数,但使用#ifdefs对编译器隐藏它(但仍让Doxygen看到),但我不确定PHP中的等价物是什么。理想情况下,我想要的东西不会导致PHP解析器的任何额外工作

有什么建议吗?这就是我试图记录的内容,以及我现在如何使用fake函数记录它:

/// This is an example hook. /** * Register it with $hooks['example'][] = 'your_function_name_here'; * * @param string $dummy * Dummy parameter. */ function hook_example($dummy) { }; // fake function for Doxygen ///这是一个示例钩子。 /** *使用$hooks['example'][]='your_function_name_here'注册它; * *@param字符串$dummy *虚拟参数。 */ 函数hook_示例($dummy){};//强氧素假函数
如果希望其他程序员实现钩子,请使用OOP接口和抽象类。这将清理您的代码


作为一个副作用,Doxygen将非常乐意记录抽象方法。

如果您希望其他程序员实现您的钩子,请使用OOP接口和抽象类。这将清理您的代码

作为一个副作用,Doxygen将非常乐意记录抽象方法。

因为PHP不支持#ifdef块,我认为唯一的方法是将注释和伪函数声明放在另一个.PHP文件中。将Doxygen配置为包含此新文件,但不要将其包含在其余代码中的任何位置

然后假函数将出现在文档中,但PHP解析器永远不会知道它们。

由于PHP不支持#ifdef块,我认为唯一的方法是将注释和假函数声明放在另一个.PHP文件中。将Doxygen配置为包含此新文件,但不要将其包含在其余代码中的任何位置


然后,假函数会出现在文档中,但PHP解析器永远不会知道它们。

谢谢您的建议,但是在这种情况下,抽象类是多余的。钩子通常是几行没有共享数据的代码,因此声明一个类并拥有注册/注销它们的函数会导致太多的膨胀。这些钩子应该是快速且易于实现的。谢谢你的建议,但是在这种情况下抽象类是多余的。钩子通常是几行没有共享数据的代码,因此声明一个类并拥有注册/注销它们的函数会导致太多的膨胀。这些挂钩应该是快速且易于实现的。