Tracy nevypisuje zoznam jednotlivých balíkov a ich verziíí
- MKI-Miro
- Člen | 278
Ahojte
Tracy mi vypisuje nasledovné
System info
Execution time 188.0 ms
CPU usage user + system 66 % + 15 %
Peak of allocated memory 9.73 MB
Included files 190
Classes + interfaces + traits 170 + 36 + 4
Your IP …
Server IP 127.0.0.1
HTTP method / response code GET / 200
PHP 7.3.0
Tracy 2.6.2
Server Apache
Nezobrazí sa mi ale výpis jednotlivých baličkov a ich verzii. Je to potrebné niekde zapnúť?
Ďakujem
- Pavel Kravčík
- Člen | 1195
Můžeš si dopsat sám, hádám, že to bude práce na 10 minut.
- https://tracy.nette.org/cs/extensions#…
\Nette\Utils\Json::decode('cesta k composer.lock')
- Iteruj nad $json->packages a vypiš si co potřebuješ
- Pavel Kravčík
- Člen | 1195
@Mysteria má pravdu. Podmínka je tam jedna a měla by být vždy TRUE, pokud je instalováno composerem.
$packages = $devPackages = [];
if (class_exists('Composer\Autoload\ClassLoader', false)) {
$baseDir = (function () {
@include dirname((new \ReflectionClass('Composer\Autoload\ClassLoader'))->getFileName()) . '/autoload_psr4.php'; // @ may not exist
return $baseDir;
})();
$composer = @json_decode((string) file_get_contents($baseDir . '/composer.lock')); // @ may not exist or be valid
list($packages, $devPackages) = [(array) @$composer->packages, (array) @$composer->{'packages-dev'}]; // @ keys may not exist
foreach ([&$packages, &$devPackages] as &$items) {
array_walk($items, function($package) {
$package->hash = $package->source->reference ?? $package->dist->reference ?? null;
}, $items);
usort($items, function ($a, $b): int { return $a->name <=> $b->name; });
}
}