Lately I’ve been switching to new versions and upgrading Symfony for client projects that I cannot reveal, but what I would like to share in this simple and short post is what combinations worked for me after many hours switching versions and dependancies.
Symfony 4
{
"require": {
"php": "^7.1.3",
"ext-ctype": "*",
"ext-iconv": "*",
"sensio/framework-extra-bundle": "^5.4",
"symfony/asset": "4.3.*",
"symfony/console": "4.3.*",
"symfony/dotenv": "4.3.*",
"symfony/expression-language": "4.3.*",
"symfony/flex": "^1.3.1",
"symfony/form": "4.3.*",
"symfony/framework-bundle": "4.3.*",
"symfony/http-client": "4.3.*",
"symfony/intl": "4.3.*",
"symfony/monolog-bundle": "^3.1",
"symfony/orm-pack": "*",
"symfony/process": "4.3.*",
"symfony/security-bundle": "4.3.*",
"symfony/serializer-pack": "*",
"symfony/swiftmailer-bundle": "^3.2",
"symfony/translation": "4.3.*",
"symfony/twig-bundle": "4.3.*",
"symfony/validator": "4.3.*",
"symfony/web-link": "4.3.*",
"symfony/webpack-encore-bundle": "^1.6",
"symfony/yaml": "4.3.*",
"jms/serializer-bundle": "3.4.1",
"friendsofsymfony/user-bundle": "2.1.2"
}
}
This is the easiest one since is the last version and you can just install it following the docs. Added some nice packages that I use always just to JSON serialize entities.
Symfony 3.4
{
"require" : {
"php" : "^7.1",
"symfony/symfony" : "3.4.x-dev",
"symfony/webpack-encore-bundle" : "~1.6",
"symfony/swiftmailer-bundle" : "3.3.*",
"symfony/monolog-bundle" : "3.4.0",
"symfony/console" : "^3.4",
"symfony/serializer": "^3.4",
"sensio/distribution-bundle" : "5.0.25",
"sensio/framework-extra-bundle" : "5.4.0",
"doctrine/orm": "2.6.4",
"doctrine/doctrine-bundle": "2.0.x-dev",
"twig/extensions" : "1.5.4"
}
}
Basic install. This where you would like to go in case you are still using 2.8 version that will be soon out of maintenance
Symfony 3.3
{
"require": {
"php": ">=5.6.27",
"symfony/symfony": "^3.3",
"doctrine/orm": "^2",
"doctrine/doctrine-bundle": "1.10.0",
"symfony/swiftmailer-bundle": "~2",
"symfony/monolog-bundle": "^3",
"sensio/distribution-bundle": "~5.0",
"sensio/framework-extra-bundle": "^3",
"incenteev/composer-parameter-handler": "~2.0",
"knplabs/knp-snappy-bundle": "~1.4",
"knplabs/doctrine-behaviors": "~1.4",
"friendsofsymfony/user-bundle": "~2.0@dev",
"doctrine/doctrine-fixtures-bundle": "^2.3",
"twig/extensions": "^1.4",
"mopa/bootstrap-bundle": "dev-master",
"m6web/guzzle-http-bundle": "~2.0",
"doctrine/migrations": "^1.5",
"doctrine/doctrine-migrations-bundle": "^1.3",
"jms/serializer-bundle": "1.5.0"
}
}
The important difference in this 3.3 version is that it still runs on PHP 5.6+ but if you can it would be the best to go to 3.4 or even 4 but that requires a big refatoring in many corners.