LockLoader.php 786 B

123456789101112131415161718192021222324252627282930313233
  1. <?php
  2. namespace Fgm\ComposerCheck;
  3. class LockLoader implements LoaderInterface {
  4. protected $file;
  5. protected $platform;
  6. public function __construct(string $directory) {
  7. $this->file = realpath("${directory}/composer.lock");
  8. }
  9. public function load() {
  10. $lockFile = json_decode(file_get_contents($lockPath), TRUE);
  11. $lockPackages = $lockFile['packages'];
  12. $lockDevPackages = $lockFile['packages-dev'];
  13. $lockPlatform = $lockFile['platform'];
  14. array_walk($lockPlatform, function (&$requirement, $component) {
  15. $requirement = [
  16. 'name' => $component,
  17. 'version' => $requirement,
  18. ];
  19. });
  20. $lockPackages = array_merge($lockPackages, $lockPlatform);
  21. $lockDevPackages = array_merge($lockDevPackages, $lockPlatform);
  22. }
  23. }