Doxygen有很多記錄php代碼的問題。其中許多可以通過使用input_filter
來糾正。
使用下面的代碼過濾
<?php
$source = file_get_contents($argv[1]);
$regexp = '#(<\?php[\s]+)(if\(!class_exists\([^\)]+\)\)\{)([\s\S]*)(\})([\s]*\?>)#';
$replace = '$1 $3 $5';
$source = preg_replace($regexp, $replace, $source);
echo $source;
?>
,並輸入它作爲
/path/to/php php_var_filter.php
到INPUT_FILTER
設置。
注意:這種方式可以解決許多doxygen問題。如果某些東西不起作用,那是因爲c(或C++)代碼與php代碼(最相似)之間的區別。您可以使用input_filter將您的php代碼更改爲c代碼。這將解決許多問題。
編輯
也許你還想考慮一個自動加載函數。我認爲這是獲得if(!class_exists(..))
-result的更好方法。
編輯 我剛剛注意到我已經回答了一個類似的問題不同。您也可以使用這個answer。
你可以在GitHub找到更多的輸入過濾器來改善doxygen的php支持。
你有沒有試過在課堂上面放一個docblock?與你一起,我猜測它與控制結構中的類有關。 – Crackertastic 2014-10-02 19:43:56
是的,我做了,但我也設置doxygen文件無證結構。 – user3053216 2014-10-02 20:11:03
好吧,我很好奇。我也使用doxygen,只是不像你上面展示的那樣。我正在考慮在該類之上的docblock會迫使它記錄該結構。 – Crackertastic 2014-10-02 20:25:15