kerrialn/composer-json-parser 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

kerrialn/composer-json-parser

最新稳定版本:2.0.0

Composer 安装命令:

composer require kerrialn/composer-json-parser

包简介

Access your composer.json as an object

README 文档

README

A tool that converts your composer.json file to an object and allows you to find any composer data quickly.

Install

composer require kerrialn/composer-json-parser

Usage

Basic usage

use KerrialNewham\ComposerJsonParser\ComposerJson;

$composer = (new ComposerJson())->getComposer()
// Will find composer.json create a Composer object 

With composer.json path

use KerrialNewham\ComposerJsonParser\ComposerJson;

$composer = (new ComposerJson())
    ->withComposerJsonPath(path: 'composer/json/directory/')
    ->getComposer()
// Will return a Composer object 

Don't need to load everything, only what you need:

    use KerrialNewham\ComposerJsonParser\ComposerJson;

    $composer = (new ComposerJson())
    ->withName()
    ->withRequire()
    ->withAutoload()
    ->getComposer()
    // Will return a Composer object 

Need to find a specific package?

$composer = (new ComposerJson())->withRequire()->getComposer();
$doctrineOrmPackage = $composer->getRequire()->findFirst(fn (int $key, Package $package) =>  $package->getName() == 'php');

Need to modify the composer.json?

use KerrialNewham\ComposerJsonParser\ComposerJson;
use KerrialNewham\ComposerJsonParser\Model\Autoload;
    
$autoload = new Autoload(namespace: 'App\\', path: './src');
$composer = (new ComposerJson())->addPsr4Autoload($autoload)
// Will update composer.json with new PSR4 Autoload namespace

What about add a package programmatically?

use KerrialNewham\ComposerJsonParser\ComposerJson;
use KerrialNewham\ComposerJsonParser\Model\Autoload;
    
$packageVersion = new PackageVersion(versionString: '^2.0', version: 2.0, versionConstraints: '^');
$composerJsonPackage = new Package(name: 'kerrialn/composer-json-parser', type: PackageTypeEnum::REQUIRE, packageVersion: $packageVersion);

(new ComposerJson())->withComposerJsonPath()->addRequire(package: $composerJsonPackage);
// Will update composer.json with new package.

统计信息

  • 总下载量: 19
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 0
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2024-10-18