Create packer with recursive inclusion and deduplication

This commit is contained in:
Tim
2025-03-18 23:31:28 +01:00
parent c4845ed7c6
commit 61a4dcd370
11 changed files with 108 additions and 11 deletions

View File

@ -0,0 +1,21 @@
<?php
function getLineIncludeFile(string $line): false|string
{
preg_match("/include\s+'([^']+\.php)'/", $line, $matches);
if (count($matches) === 2) {
return $matches[1];
}
return false;
}
function buildIncludes(string $file, array &$includes): void
{
foreach (getAllLines($file) as $line) {
$includeFile = getLineIncludeFile($line);
if ($includeFile) {
buildIncludes($includeFile, $includes);
}
}
$includes[$file] = true;
}