Использование переменных в композиторе - PullRequest
0 голосов
/ 31 декабря 2018

В моем composer.json у меня есть следующее:

"repositories": [        
    {
        "type": "package",
        "package": {
            "name": "aaemnnosttv/wordpress-core-phpunit-includes",
            "type": "wordpress-tests-core",
            "version": "5.0.2",
            "source": {
                "type": "svn",
                "url": "https://develop.svn.wordpress.org/",
                "reference": "tags/5.0.2/tests/phpunit/includes/"
            },
            "require": {
                "aaemnnosttv/wordpress-tests-core-installer": "~0.1"
            }
        }
    }
],
"require": {
    "aaemnnosttv/wordpress-core-phpunit-includes": "5.0.2"
}

К сожалению, я должен повторить себя при указании версии пакета.Один раз в строке «version», один раз в строке «reference» и один раз в строке «aaemnnosttv / wordpress-core-phpunit-includes».

Есть ли способ использовать переменную composer, чтобы яне надо повторяться?

1 Ответ

0 голосов
/ 31 декабря 2018

файл композитора - json, а JSON не разрешает ссылаться на переменные.

, но, поскольку вы используете в своем вопросе тег PHP , я предлагаю пример для дескриптораЭто, может быть, это может помочь вам.

создать файл PHP, чтобы установить массив сред композитора.

$variable = "aaemnnosttv/wordpress-core-phpunit-includes";
$version = "5.0.2";
$composer = [
    "repositories" => [
        [
            "type" => "package",
            "package" => [
                "name" => $variable
                // whatever is in
            ]
        ]
    ],
    "require" => [
            $variable => $version
    ]
];

, затем сохраните массив как json в composer.json файле.

file_put_contents('compose.json', json_encode($composer));

, если вы хотите просто отредактировать файл композитора, вы должны прочитать его иредактировать:

$composer = json_decode(file_get_contents('compose.json', true));

$variable = "aaemnnosttv/wordpress-core-phpunit-includes";
$version = "5.0.2";
$composer["repositories"][0]["package"]["name"] = $variable;
$composer["require"][$variable] = $version;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...