louzet / composer-lock-file-parser

1.0.0 2019-12-09 11:07 UTC

This package is auto-updated.

Last update: 2024-09-21 20:48:55 UTC


README

  Latest Unstable Version PHP Build Status Quality Score

在这里放置您的描述。尽量限制为一两段,并可能提及您支持的PSR,以避免与用户和贡献者产生混淆。

安装

您可以通过composer安装此包。

composer require louzet/composer-lock-file-parser

使用方法

<?php

declare(strict_types=1);

require_once 'vendor/autoload.php';

use ComposerLockParser\Parser\FileParser;

$parser = FileParser::parse('path/to/composer.lock');

首先,我们需要导入FileParser工厂,并解析composer.lock文件。现在,$parser 是一个PackageCollection对象,具有一些输出信息的 方法。

<?php

print_r($parser->getPackages());

array (size=10)
  'bower-asset/bootstrap' => 
    object(ComposerLockParser\Package\Package)[2]
      private 'name' => string 'bower-asset/bootstrap' (length=21)
      private 'version' => string 'v3.2.0' (length=6)
      private 'source' => 
        array (size=3)
          'type' => string 'git' (length=3)
          'url' => string 'https://github.com/twbs/bootstrap.git' (length=37)
          'reference' => string 'c068162161154a4b85110ea1e7dd3d7897ce2b72' (length=40)
      private 'dist' => 
        array (size=4)
          'type' => string 'zip' (length=3)
          'url' => string 'https://api.github.com/repos/twbs/bootstrap/zipball/c068162161154a4b85110ea1e7dd3d7897ce2b72' (length=92)
          'reference' => string 'c068162161154a4b85110ea1e7dd3d7897ce2b72' (length=40)
          'shasum' => string '' (length=0)
      private 'require' => 
        array (size=1)
          'bower-asset/jquery' => string '>=1.9.0' (length=7)
      private 'requireDev' => 
        array (size=0)
          empty
      private 'suggest' => 
        array (size=0)
          empty
      private 'type' => string 'bower-asset-library' (length=19)
      private 'extra' => 
        array (size=2)
          'bower-asset-main' => 
            array (size=7)
              ...
          'bower-asset-ignore' => 
            array (size=8)
              ...
      private 'autoload' => 
        array (size=0)
          empty
      private 'notificationUrl' => string '' (length=0)
      private 'license' => 
        array (size=0)
          empty
      private 'authors' => 
        array (size=0)
          empty
      private 'description' => string 'The most popular front-end framework for developing responsive, mobile first projects on the web.' (length=97)
      private 'homepage' => string '' (length=0)
      private 'keywords' => 
        array (size=8)
          0 => string 'css' (length=3)
          1 => string 'framework' (length=9)
          2 => string 'front-end' (length=9)
          3 => string 'js' (length=2)
          4 => string 'less' (length=4)
          5 => string 'mobile-first' (length=12)
          6 => string 'responsive' (length=10)
          7 => string 'web' (length=3)
      private 'time' => null
  'bower-asset/jquery' => 
    object(ComposerLockParser\Package\Package)[4] ...

$parser->getPackages() 内部的每个元素都是一个 Package 实体,您可以对其实施操作。

其他使用方法
<?php
declare(strict_types=1);

require_once 'vendor/autoload.php';

use ComposerLockParser\Parser\FileParser;

$parser = FileParser::parse('resources/composer.lock');

if ($parser->nameExists('bower-asset/bootstrap')) {
    // do some stuff
    print_r($parser->getByName('bower-asset/bootstrap'));
}

安全

如果您发现任何安全相关的问题,请创建一个问题或提出一个pull request!

许可证

MIT许可证(MIT)。请参阅许可证文件获取更多信息。