我正在使用Xdebug分析我的Laravel代码。我使用跟踪和覆盖功能。
关于覆盖范围,我可以配置白名单并排除以配置要分析的目录和文件。
但是为了跟踪,我不知道如何配置排除目录。像vendor
一样,我认为它们没有变化,因此我想排除它们。我只想专注于我的代码。
您知道如何配置跟踪排除或黑名单吗?
<?xml version="1.0" encoding="UTF-8" ?>
<phpunit backupGlobals="true" colors="true" convertErrorsToExceptions="true"
convertNoticesToExceptions="true" convertWarningsToExceptions="true" stopOnFailure="false">
<filter>
<whitelist processUncoveredFilesFromWhitelist="false" addUncoveredFilesFromWhitelist="false">
<directory suffix=".php">./../</directory>
<exclude>
<directory suffix=".php">./../vendor</directory>
</exclude>
</whitelist>
<blacklist>
</blacklist>
</filter>
</phpunit>
要从跟踪中删除内容,可以使用Xdebug的xdebug_set_filter()函数。手册中有一个示例,内容如下:
要排除跟踪中供应商子目录中的所有文件:
示例:
<?php xdebug_set_filter( XDEBUG_FILTER_TRACING, XDEBUG_PATH_BLACKLIST, [ __DIR__ . "/vendor/" ] ); ?>
您需要Xdebug 2.6或更高版本才能起作用。您可以将其放在index.php
脚本中,也可以放在auto_prepend脚本中。唯一重要的注意事项是,在执行/vendor/
文件夹内的包含/调用之前,需要运行此行。