symplify/composer-json-manipulator

该包已被废弃,不再维护。未建议替代包。

用于加载、合并和保存 composer.json 文件的包

11.1.18 2022-12-16 14:04 UTC

This package is auto-updated.

Last update: 2022-12-17 14:47:43 UTC


README

Downloads total

  • 将内容加载到 composer.json 对象中
  • 使用多种方法
  • 与其它内容合并
  • 以人类可读的格式将内容打印回 composer.json

安装

composer require symplify/composer-json-manipulator

添加到您的 config/config.php

use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
use Symplify\ComposerJsonManipulator\ValueObject\ComposerJsonManipulatorConfig;

return static function (ContainerConfigurator $containerConfigurator): void {
    $containerConfigurator->import(ComposerJsonManipulatorConfig::FILE_PATH);
};

用法

namespace App;

use Symplify\ComposerJsonManipulator\ComposerJsonFactory;

class SomeClass
{
    /**
     * @var ComposerJsonFactory
     */
    private $composerJsonFactory;

    public function __construct(ComposerJsonFactory $composerJsonFactory)
    {
        $this->composerJsonFactory = $composerJsonFactory;
    }

    public function run(): void
    {
        // ↓ instance of \Symplify\ComposerJsonManipulator\ValueObject\ComposerJson
        $composerJson = $this->composerJsonFactory->createFromFilePath(getcwd() . '/composer.json');

        // Add a PRS-4 namespace
        $autoLoad = $composerJson->getAutoload();
        $autoLoad['psr-4']['Cool\\Stuff\\'] = './lib/';
        $composerJson->setAutoload($autoLoad);
        $this->jsonFileManager->printComposerJsonToFilePath($composerJson, $composerJson->getFileInfo()->getRealPath());
    }
}

报告问题

如果您遇到错误或希望请求新功能,请前往 Symplify monorepo 问题跟踪器

贡献

该包的源代码包含在 Symplify monorepo 中。我们欢迎在 symplify/symplify 上为该包做出贡献。