Функция трассировки Xdebug, как исключить каталог производителя - PullRequest
1 голос
/ 05 февраля 2020

Я использую 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>

1 Ответ

1 голос
/ 05 февраля 2020

Для удаления объектов из трасс вы можете использовать функцию Xdebug xdebug_set_filter () . В руководстве приведен пример, который гласит:

Чтобы исключить все файлы в подкаталоге поставщика в следах:

Пример:

<?php
xdebug_set_filter(
    XDEBUG_FILTER_TRACING, XDEBUG_PATH_BLACKLIST, 
    [ __DIR__ . "/vendor/" ]
);
?>

Вам нужен Xdebug 2.6 или новее, чтобы это работало. Вы можете поместить это в ваш скрипт index.php, или иначе в скрипт auto_prepend . Единственное важное замечание заключается в том, что эту строку необходимо выполнить перед выполнением вызовов include / в папке /vendor/.

...