After some experimentation, this is what I developed.
PHP_CodeCoverage, . PHP_CodeCoverage . uniqid, . script ( , , , ):
require_once "phpcov/vendor/autoload.php";
$filter = new PHP_CodeCoverage_Filter();
$filter->addDirectoryToBlacklist(__DIR__ . "/phpcov");
$token = uniqid();
$coverage = new PHP_CodeCoverage(null, $filter);
$coverage->start($token);
$coverage->stop();
$s = serialize($coverage);
file_put_contents('tmp/' . $token, $s);
, PHP_CodeCoverage_Report_HTML:
require_once "phpcov/vendor/autoload.php";
$coverage = new PHP_CodeCoverage();
$files = glob('tmp/*');
foreach($files as $file) {
$s = file_get_contents($file);
$data = unserialize($s);
$coverage->merge($data);
}
$writer = new PHP_CodeCoverage_Report_HTML;
$writer->process($coverage, 'report-coverage');
PHP_CodeCoverage_Filter, , .
CodeIgniter, , .