Вы можете поработать с некоторыми итераторами, чтобы получить список пакетов required
composer.Создайте файл в корне вашего проекта (где находится vendor
) и добавьте приведенный ниже фрагмент кода.Это ищет все composer.json
файлы в vendor
каталоге или корне (а не в других каталогах, таких как src
):
function getComposerPackages() {
$directoryIterator = new RecursiveDirectoryIterator('./');
$regexIterator = new RegexIterator(
new RecursiveIteratorIterator($directoryIterator),
'~^.(.)(?:vendor\1.*)?composer\.json$~',
RecursiveRegexIterator::GET_MATCH
);
$requiredModules = [];
foreach ($regexIterator as $filePath) {
$jsonContent = file_get_contents($filePath[0]);
$jsonArray = json_decode($jsonContent, true);
if (isset($jsonArray['require'])) {
$requiredModules += $jsonArray['require'];
}
}
return $requiredModules;
}
print_r(getComposerPackages());
Вывод похож на это:
Array
(
[aoepeople/scheduler] => v1.6.13
[nwdthemes/revslider] => dev-master
[churiart/blogomatic] => dev-master
[php-pm/php-pm] => v1.0.4
.
.
.