首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Symfony -将旧项目升级(v 2.6)到3.4

Symfony -将旧项目升级(v 2.6)到3.4
EN

Stack Overflow用户
提问于 2017-06-22 19:27:28
回答 3查看 2K关注 0票数 2

我有一个Symfony网络应用程序,需要从Symfony 2.6升级到3.4。是否有一个标准化的、简陋的composer.json来显示当前版本所需的内容?演示应用程序在github上的文件似乎充满了一些额外的东西,我不完全确定我需要这些东西。理想情况下,我希望更新现有的composer.json,并在可能弹出的地方熄灭向后兼容性火。

编辑:我现在的作曲家是-

代码语言:javascript
复制
{
    "license": "Private",
    "type": "project",
    "description": "Home/e-commerce site",
    "autoload": {
        "psr-0": { "": "src/", "SymfonyStandard": "app/" }
    },
    "require": {
        "php": ">=5.3.3",
        "symfony/symfony": "2.6.*",
        "doctrine/orm": "~2.2,>=2.2.3",
        "doctrine/doctrine-bundle": "~1.2",
        "twig/extensions": "~1.0",
        "symfony/assetic-bundle": "2.6.*",
        "symfony/swiftmailer-bundle": "~2.3",
        "symfony/monolog-bundle": "~2.4",
        "sensio/distribution-bundle": "~3.0",
        "sensio/framework-extra-bundle": "~3.0",
        "incenteev/composer-parameter-handler": "~2.0",
        "jms/security-extra-bundle": "dev-master",
        "jms/di-extra-bundle": "dev-master",
        "friendsofsymfony/user-bundle": "2.0.*@dev",
        "roave/security-advisories": "dev-master"
    },
    "require-dev": {
        "sensio/generator-bundle": "~2.3"
    },
    "scripts": {
        "post-root-package-install": [
            "SymfonyStandard\\Composer::hookRootPackageInstall"
        ],
        "post-install-cmd": [
            "Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::removeSymfonyStandardFiles"
        ],
        "post-update-cmd": [
            "Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::removeSymfonyStandardFiles"
        ]
    },
    "config": {
        "bin-dir": "bin"
    },
    "extra": {
        "symfony-app-dir": "app",
        "symfony-web-dir": "web",
        "incenteev-parameters": {
            "file": "app/config/parameters.yml",
            "keep-outdated": true
        },
        "branch-alias": {
            "dev-master": "2.6-dev"
        }
    }
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-06-22 19:32:25

尝试运行composer create-project symfony/framework-standard-edition -它将使用默认的composer.json设置一个基本的项目。如下所示:

代码语言:javascript
复制
{
    "name": "name",
    "license": "proprietary",
    "type": "project",
    "autoload": {
        "psr-4": {
            "": "src/"
        },
        "classmap": [
            "app/AppKernel.php",
            "app/AppCache.php"
        ]
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\\": "tests/"
        },
        "files": [
            "vendor/symfony/symfony/src/Symfony/Component/VarDumper/Resources/functions/dump.php"
        ]
    },
    "require": {
        "php": ">=5.5.9",
        "doctrine/doctrine-bundle": "^1.6",
        "doctrine/orm": "^2.5",
        "incenteev/composer-parameter-handler": "^2.0",
        "sensio/distribution-bundle": "^5.0.19",
        "sensio/framework-extra-bundle": "^3.0.2",
        "symfony/monolog-bundle": "^3.1.0",
        "symfony/polyfill-apcu": "^1.0",
        "symfony/swiftmailer-bundle": "^2.3.10",
        "symfony/symfony": "3.3.*",
        "twig/twig": "^1.0||^2.0"
    },
    "require-dev": {
        "sensio/generator-bundle": "^3.0",
        "symfony/phpunit-bridge": "^3.0"
    },
    "scripts": {
        "symfony-scripts": [
            "Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::prepareDeploymentTarget"
        ],
        "post-install-cmd": [
            "@symfony-scripts"
        ],
        "post-update-cmd": [
            "@symfony-scripts"
        ]
    },
    "config": {
        "sort-packages": true
    },
    "extra": {
        "symfony-app-dir": "app",
        "symfony-bin-dir": "bin",
        "symfony-var-dir": "var",
        "symfony-web-dir": "web",
        "symfony-tests-dir": "tests",
        "symfony-assets-install": "relative",
        "incenteev-parameters": {
            "file": "app/config/parameters.yml"
        },
        "branch-alias": null
    }
}

Symfony的升级指南包含关于您可能遇到的贬义的有用信息。

票数 3
EN

Stack Overflow用户

发布于 2017-06-22 19:31:08

这可不容易。因此,首先,您可以使用symfony安装程序设置一个新项目。

代码语言:javascript
复制
symfony new my_project

在示例项目中,您可以使用该版本的实际composer.json。下一步是查看所有扩展,如果它们是最新版本的话。下一步是在升级指导什么已经改变和改变所有的新东西,从2.6到3.3有很多的存根已经改变了。您可以在存储库中找到升级指令。

https://github.com/symfony/symfony/blob/master/UPGRADE-3.0.md

例如。您必须修复所有问题并更改代码,直到它再次工作为止。

票数 1
EN

Stack Overflow用户

发布于 2017-06-22 19:48:26

除非您确实需要使用3.* (PHP 7或其他无法选择版本的原因),否则可以更新为LTS版本:

Symfony路线图

目前,2.8.22是一个长期支持版本。这意味着您只需要从2.6更新到2.8,就可以在一段时间内(安全和文档方面)。

有关详细信息,您可以在上面的页面上使用版本检查器。结果表明,3.4的支持时间比2.8长了2年,但LTS也很好。

考虑到您的具体情况,,如果采取更小的步骤可能是一个更好的选择。无论如何,大多数从2.6到2.8的变化都是达到3.4所必需的。

  • 2.8: 2018年11月结束对bug修复的支持 2019年11月:结束对安全修复的支持
  • 3.4: Nov 2020:结束对bug修复的支持 11月2021:对安全修复的端支持
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44707821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档