我认为这是Doxygen和php中的@test命令之间不兼容,但我希望有人可以指出我的解决方法,这是我的googles技能无法找到的。
可以通过记录文件来重现错误:
<?php
namespace TestNamespace;
/** @test This is a test
*
* @test This is a second test
*/
class TestClass { }
/** @test This is a test on another class
*/
class TestClass2 { }
生成文档时有警告:
test:2: warning: Illegal command TestClass as part of a \ref
test:4: warning: Illegal command TestClass2 as part of a \ref
为TestClass
和TestClass2
生成的html页面都显示正确的测试。但是,如果导航到“测试列表”页面,则类的显示名称不正确,如此屏幕截图所示:
单击TestNamespace
链接时,导航到正确的类页面,因此看起来唯一的问题是生成期间打印到stderr的警告以及“测试列表”页面上类的显示名称。
我能想到解决这个问题的唯一方法就是停止使用命名空间,此时治愈比疾病更糟糕。我希望有人之前遇到过这种情况并且有办法解决这个问题。如果需要,我可以在文档中使用::
或作为命名空间说明符。