Используйте Doctrine 2.4 с Symfony и composer.json

#php #symfony #doctrine-orm #composer-php

#php #symfony #доктрина-orm #композитор-php

Вопрос:

В Doctrine 2.4 есть несколько интересных новых функций, которые я хотел бы использовать в моем текущем проекте Symfony 2.3.

Существует ли конфигурация composer.json для использования doctrine 2.4 с Symfony? Я не могу найти действительный список зависимостей. Если я укажу версию 2.4.3 doctrine / orm в моем composer.json, я получу ошибку обновления composer, потому что doctrine / doctrine-bundle не разрешает установку doctrine> 2.3.

Doctrine 2.4 упоминается в документации Symfony2, но я не нашел действительного списка composer.json.

Любая помощь приветствуется.

Текущий composer.json

 {
    "name": "symfony/framework-standard-edition",
    "description": "The "Symfony Standard Edition" distribution",
    "autoload": {
        "psr-0": { "": "src/" }
    },
    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/Fraktl/EscapeWSSEAuthenticationBundle.git"
        }
    ],
    "require": {
        "php": ">=5.3.3",
        "symfony/symfony": "2.3.*",
        "doctrine/orm": ">=2.2.3,<2.4-dev",
        "doctrine/doctrine-bundle": "1.2.*",
        "twig/extensions": "1.0.*",
        "symfony/assetic-bundle": "2.3.*",
        "symfony/swiftmailer-bundle": "2.3.*",
        "symfony/monolog-bundle": "2.3.*",
        "sensio/distribution-bundle": "2.3.*",
        "sensio/framework-extra-bundle": "2.3.*",
        "sensio/generator-bundle": "2.3.*",
        "incenteev/composer-parameter-handler": "~2.0",
        "stof/doctrine-extensions-bundle": "dev-master",
        "friendsofsymfony/jsrouting-bundle": "~1.1",
        "friendsofsymfony/rest-bundle": "dev-master",
        "sprain/validator-bundle": "dev-master",
        "willdurand/geocoder-bundle": "@stable",
        "friendsofsymfony/user-bundle": "~2.0@dev",
        "escapestudios/wsse-authentication-bundle": "2.3.x-dev",
        "jms/serializer-bundle": "dev-master",
        "doctrine/doctrine-fixtures-bundle": "2.2.*",
        "luxifer/doctrine-functions": "dev-master"

    },
    "scripts": {
        "post-install-cmd": [
            "Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::buildBootstrap",
            "Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache",
            "Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::installAssets",
            "Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::installRequirementsFile"
        ],
        "post-update-cmd": [
            "Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::buildBootstrap",
            "Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache",
            "Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::installAssets",
            "Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::installRequirementsFile"
        ]
    },
    "minimum-stability": "dev",
    "extra": {
        "symfony-app-dir": "app",
        "symfony-web-dir": "web"
    }
}
 

Комментарии:

1. пожалуйста, покажите нам ваш composer.json

2. @Nextar добавил файл composer.json

3. Возможно, обновление вашего Symfony до 2.4. * помогает. Вы также можете попробовать "doctrine/orm": "2.4.*",

Ответ №1:

composer.json:

 "require": {
    "php": ">=5.3.3",
    "symfony/symfony": "2.3.*",
    "doctrine/orm": "2.4.*",
    "doctrine/doctrine-bundle": "~1.2",
    ....
 

Затем обновите свои зависимости

 $ composer update doctrineorm
 

Но! я не уверен, поддерживается ли это, потому что мастер symfony использует ту же версию, что и 2.3 (symfony 2.5 composer.json)

 "require": {
    "doctrine/orm": "~2.2,>=2.2.3",
    "doctrine/doctrine-bundle": "~1.2",
 

Комментарии:

1. Он не обновляет symfony, он просто определяет пакет doctrine orm до версии 2.4.*

2. чтобы иметь возможность добавлять doctrine / orm 2.4. * Мне также пришлось выполнить «symfony / symfony»: «~ 2.4», иначе обновление composer завершается ошибкой в doctrine / doctrine-bundle.