Получить версию с composer.json [Symfony] - PullRequest
0 голосов
/ 31 мая 2018

Интересно, есть ли способ получить версию composer.json с контроллера с Symfony.Мой composer.json выглядит так:

{
    "name": "myProject",
    "version": "0.0.0",
    "description": "myProject description",
    "license": "AGPL-3.0",
    "type": "project",
    "require": {
        "php": "^7.1.3",
        ...
    }
}

Я не могу найти ссылку на это.

PS: Я использую Symfony 4.

Ответы [ 2 ]

0 голосов
/ 01 июня 2018

Вы можете использовать библиотеку PackageVersions и ее относительную PrettyPackageVersions .

. Они предоставляют API единого класса для получения текущей установленной версии ваших зависимостей Composer, для:пример:

use PackageVersions\Versions;
use Jean85\PrettyVersions;

// Will output "1.0.0@0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33"
echo Versions::getVersion('myvendor/mypackage');

// Will output "1.0.0"
echo (string) PrettyVersions::getVersion('myvendor/mypackage');
0 голосов
/ 31 мая 2018

Вы можете сделать что-то вроде этого:

$filename = $this->getParameter('%app.kernel_dir%') . '/../composer.json';
$composerData = json_decode(file_get_contents($filename), true);

$version = $composerData['version'];

Затем переменная должна содержать значение 0.0.0 из вашего примера.

Это предполагает, что ваш контроллер расширяет базовый контроллер для доступапараметр %app.kernel_dir%.Если нет, вы также можете использовать относительный путь от вашего контроллера или что-то еще, чтобы определить местоположение composer.json

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...