CINXE.COM
Download Symfony Framework and Components
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="robots" content="index, follow, all" /> <meta name="Author" content="Symfony" /> <meta name="color-scheme" content="light dark"> <meta name="view-transition" content="same-origin" /> <meta name="description" content="Download the Symfony CLI tool, create Symfony applications and use Symfony components."> <meta name="Keywords" content="symfony3, symfony2, symfony, project, framework, php, php5, php7, php8, open-source, components, symphony, symfony framework, symfony tutorial" /> <link rel="preconnect" href="https://connect.symfony.com"> <title>Download Symfony Framework and Components</title> <link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono&display=swap" rel="stylesheet"> <link rel="search" type="application/opensearchdescription+xml" href="https://symfony.com/opensearch/documentation.xml" title="Symfony documentation" /> <link rel="stylesheet" href="/assets/vendor/bootstrap/dist/css/bootstrap.min-1712f0378f8675ca7cd423d6262fcccf.css"> <link rel="stylesheet" href="/assets/styles/color-palette-d0d7a9d5fc86e4b1e9ad91ec0c957a96.css"> <link rel="stylesheet" href="/assets/styles/app-39ad25b073804b5438d03471928d0b16.css"> <link rel="stylesheet" href="/assets/styles/ui-components-4ded435d38615d6d791483e8861863ca.css"> <link rel="stylesheet" href="/assets/@symfony/ux-live-component/live.min-5108f988fb2a3dbb292d6feebc9db7e8.css"> <link rel="stylesheet" href="/assets/styles/search-42da4f901c7d6eabaf3c8671eb7664cf.css"> <link rel="stylesheet" href="/assets/styles/code-14f7094c46fcc117c0276b407fbada0f.css"> <link rel="stylesheet" href="/assets/styles/terminal_window-fbcf5e4dfdb661df120a5f5e2f2d2083.css"> <link rel="stylesheet" href="/assets/styles/download-53c1d7854a73633d8e350387f980bb96.css"> <script type="importmap" data-turbo-track="reload"> { "imports": { "app": "/assets/app-8a87453761810fb014e976bf960715d7.js", "bootstrap/dist/css/bootstrap.min.css": "data:application/javascript,", "bootstrap/js/src/offcanvas": "/assets/vendor/bootstrap/js/src/offcanvas-6e548788bdb299ccf15bad01f85a1c4e.js", "/assets/styles/color-palette.css": "data:application/javascript,", "/assets/styles/app.css": "data:application/javascript,", "/assets/styles/ui-components.css": "data:application/javascript,", "/assets/stimulus.js": "/assets/stimulus-97656ab68e522ab9732b853e32a2116f.js", "@symfony/stimulus-bundle": "/assets/@symfony/stimulus-bundle/loader-870999a02e9fc147c034d522826ea70d.js", "@hotwired/stimulus": "/assets/vendor/@hotwired/stimulus/stimulus.index-b5b1d00e42695b8959b4a1e94e3bc92a.js", "/assets/@symfony/stimulus-bundle/controllers.js": "/assets/@symfony/stimulus-bundle/controllers-30ef92e440b067edafb440f89903311e.js", "/assets/@symfony/ux-live-component/live_controller.js": "/assets/@symfony/ux-live-component/live_controller-b4fdb1f53d5a5f813f85327cceb706b8.js", "/assets/@symfony/ux-live-component/live.min.css": "data:application/javascript,", "/assets/controllers/eventsmap_controller.js": "/assets/controllers/eventsmap_controller-dec85c248dc518bcca1ff8c1772842bc.js", "search": "/assets/search-04960a6f9bd1902ecc44ef024e74ecb9.js", "/assets/styles/search.css": "data:application/javascript,", "mousetrap": "/assets/vendor/mousetrap/mousetrap.index-2fcbabba04c2773c43d7b248b7bfcc5e.js", "code": "/assets/code-5fce8b30c71ee457fcb7e2630873c57e.js", "/assets/styles/code.css": "data:application/javascript,", "/assets/styles/terminal_window.css": "data:application/javascript,", "download": "/assets/download-a62ed9c2100a867a69b0768dce5aa27b.js", "/assets/styles/download.css": "data:application/javascript,", "bootstrap/js/src/tab": "/assets/vendor/bootstrap/js/src/tab-7e2e431aae5d98b88d2f18d7c8e234f6.js", "clipboard": "/assets/vendor/clipboard/clipboard.index-925566f98181665b5a61fea1bcd9033d.js", "new-home": "/assets/new-home-9a08d54a40d4a2fbb00487afc11859af.js", "/assets/styles/new-home.css": "data:application/javascript,document.head.appendChild%28Object.assign%28document.createElement%28%22link%22%29%2C%7Brel%3A%22stylesheet%22%2Chref%3A%22%2Fassets%2Fstyles%2Fnew-home-30a9da07f1ac1f13638453adae0c8ede.css%22%7D%29%29", "admin-bundles": "/assets/admin-bundles-ff6540dd6bb0d162e8fd444b0c404fea.js", "admin-blog": "/assets/admin-blog-a64407de34fbdd1ac8c240b95f6cbdcd.js", "/assets/@symfony/ux-leaflet-map/map_controller.js": "/assets/@symfony/ux-leaflet-map/map_controller-975755623ba9069450e62093d97cea8f.js", "terminal-recording-player": "/assets/asciinema-player-4aaff97af7e331a12fb59d2752290c4d.js", "backers": "/assets/backers-8abb46ccd02a5fbd206198fcd2c9f297.js", "/assets/styles/backers.css": "data:application/javascript,document.head.appendChild%28Object.assign%28document.createElement%28%22link%22%29%2C%7Brel%3A%22stylesheet%22%2Chref%3A%22%2Fassets%2Fstyles%2Fbackers-bcb27fa37219d1ba529093e1479b5a19.css%22%7D%29%29", "blog": "/assets/blog-770e3fee93dddddd01dac29b396d3383.js", "/assets/styles/blog.css": "data:application/javascript,document.head.appendChild%28Object.assign%28document.createElement%28%22link%22%29%2C%7Brel%3A%22stylesheet%22%2Chref%3A%22%2Fassets%2Fstyles%2Fblog-cad297648479c9b81fe847ad0bdf657d.css%22%7D%29%29", "/assets/code.js": "/assets/code-5fce8b30c71ee457fcb7e2630873c57e.js", "cloud": "/assets/cloud-e761264af9ecf3b01ad5d8deb5e43ad5.js", "/assets/styles/cloud.css": "data:application/javascript,document.head.appendChild%28Object.assign%28document.createElement%28%22link%22%29%2C%7Brel%3A%22stylesheet%22%2Chref%3A%22%2Fassets%2Fstyles%2Fcloud-ece740794b00d30e70c83763358dc8ad.css%22%7D%29%29", "components": "/assets/components-c0eda134e831efcfe777f1b2abcd9c4e.js", "/assets/styles/components.css": "data:application/javascript,document.head.appendChild%28Object.assign%28document.createElement%28%22link%22%29%2C%7Brel%3A%22stylesheet%22%2Chref%3A%22%2Fassets%2Fstyles%2Fcomponents-610c937560331814d9ddbc0d7e2c5fb3.css%22%7D%29%29", "components-downloads": "/assets/components-downloads-899b46584825ee6e9d0a168305dda680.js", "/assets/styles/components-downloads.css": "data:application/javascript,document.head.appendChild%28Object.assign%28document.createElement%28%22link%22%29%2C%7Brel%3A%22stylesheet%22%2Chref%3A%22%2Fassets%2Fstyles%2Fcomponents-downloads-ce0cd3bd06382f1b5c2900a9b0643329.css%22%7D%29%29", "doc": "/assets/doc-f53df194d5b1babeef5401af8562c6af.js", "/assets/styles/doc.css": "data:application/javascript,document.head.appendChild%28Object.assign%28document.createElement%28%22link%22%29%2C%7Brel%3A%22stylesheet%22%2Chref%3A%22%2Fassets%2Fstyles%2Fdoc-18b41f70c1a0fecfc75a0b1dbb868dc0.css%22%7D%29%29", "home": "/assets/home-10e0171d98f18dd5c029ff7bf1e272c6.js", "/assets/styles/home.css": "data:application/javascript,document.head.appendChild%28Object.assign%28document.createElement%28%22link%22%29%2C%7Brel%3A%22stylesheet%22%2Chref%3A%22%2Fassets%2Fstyles%2Fhome-7f88a24d2c54119eca4a3c47aaf482ac.css%22%7D%29%29", "jobs": "/assets/jobs-be103937b00f2d766b914ddead1b381b.js", "/assets/styles/jobs.css": "data:application/javascript,document.head.appendChild%28Object.assign%28document.createElement%28%22link%22%29%2C%7Brel%3A%22stylesheet%22%2Chref%3A%22%2Fassets%2Fstyles%2Fjobs-93b54b3ece823ef64e87f7cc5733340e.css%22%7D%29%29", "legacy": "/assets/legacy-f0a43a9e33b14a100a510cae76a194f6.js", "/assets/styles/legacy.css": "data:application/javascript,document.head.appendChild%28Object.assign%28document.createElement%28%22link%22%29%2C%7Brel%3A%22stylesheet%22%2Chref%3A%22%2Fassets%2Fstyles%2Flegacy-66528d42bff9478c9d5fef1226c8366d.css%22%7D%29%29", "releases": "/assets/releases-0fb630489a14d353cc90a5f15f4546eb.js", "/assets/styles/releases.css": "data:application/javascript,document.head.appendChild%28Object.assign%28document.createElement%28%22link%22%29%2C%7Brel%3A%22stylesheet%22%2Chref%3A%22%2Fassets%2Fstyles%2Freleases-2190108805c62f78be931070b1b36bad.css%22%7D%29%29", "support": "/assets/support-3d2321b292a7d005102aa200f6d974ca.js", "@popperjs/core": "/assets/vendor/@popperjs/core/core.index-ceb5b6c0f9e1d3f6c78ef733facfdcda.js", "sortablejs": "/assets/vendor/sortablejs/sortablejs.index-fae068bf1dd93b9616d070d86b7c859d.js", "tom-select": "/assets/vendor/tom-select/tom-select.index-c0036889cf3e94dade1e56c11996b014.js", "tom-select/dist/css/tom-select.bootstrap5.min.css": "data:application/javascript,document.head.appendChild%28Object.assign%28document.createElement%28%22link%22%29%2C%7Brel%3A%22stylesheet%22%2Chref%3A%22%2Fassets%2Fvendor%2Ftom-select%2Fdist%2Fcss%2Ftom-select.bootstrap5.min-ada7defe0a460fb59edebd9cb32f027a.css%22%7D%29%29", "asciinema-player": "/assets/vendor/asciinema-player/asciinema-player.index-570112964ad129943315d4774ff2848c.js", "asciinema-player/dist/bundle/asciinema-player.min.css": "data:application/javascript,document.head.appendChild%28Object.assign%28document.createElement%28%22link%22%29%2C%7Brel%3A%22stylesheet%22%2Chref%3A%22%2Fassets%2Fvendor%2Fasciinema-player%2Fdist%2Fbundle%2Fasciinema-player.min-a05dfa789a7206f64313b61ebd22be96.css%22%7D%29%29", "@symfony/ux-live-component": "/assets/@symfony/ux-live-component/live_controller-b4fdb1f53d5a5f813f85327cceb706b8.js", "bootstrap": "/assets/vendor/bootstrap/bootstrap.index-c0423c99f6075e6b1cef7579b5c00d32.js", "bootstrap/js/src/collapse": "/assets/vendor/bootstrap/js/src/collapse-674fb69f06f8ee1254928307c13a98ee.js", "bootstrap/js/src/dropdown": "/assets/vendor/bootstrap/js/src/dropdown-5c9d4a6d933f30fca054706951f97f80.js", "bootstrap/js/src/popover": "/assets/vendor/bootstrap/js/src/popover-138f0dbb5d2642645c5968a4782d3c67.js", "@symfony/ux-map/abstract-map-controller": "/assets/@symfony/ux-map/abstract_map_controller-eb94e55237a8107b072a686404d36758.js", "@symfony/ux-leaflet-map/map-controller": "/assets/@symfony/ux-leaflet-map/map_controller-975755623ba9069450e62093d97cea8f.js", "leaflet": "/assets/vendor/leaflet/leaflet.index-0fc72e43e04be464c7bda1ae45ac26ac.js", "leaflet/dist/leaflet.min.css": "data:application/javascript,document.head.appendChild%28Object.assign%28document.createElement%28%22link%22%29%2C%7Brel%3A%22stylesheet%22%2Chref%3A%22%2Fassets%2Fvendor%2Fleaflet%2Fdist%2Fleaflet.min-af732ed3306b383c4b260f42b19ee75f.css%22%7D%29%29", "@hotwired/turbo": "/assets/vendor/@hotwired/turbo/turbo.index-810f44ef1a202a441e4866b7a4c72d11.js", "emoji-mart": "/assets/vendor/emoji-mart/emoji-mart.index-dda5113ca0dd7ec52a0d00ea99c8e945.js", "@symfony/ux-leaflet-map": "/assets/@symfony/ux-leaflet-map/map_controller-975755623ba9069450e62093d97cea8f.js" } } </script> <!-- ES Module Shims: Import maps polyfill for modules browsers without import maps support --> <script async src="https://ga.jspm.io/npm:es-module-shims@1.10.0/dist/es-module-shims.js" data-turbo-track="reload"></script> <link rel="modulepreload" href="/assets/app-8a87453761810fb014e976bf960715d7.js"> <link rel="modulepreload" href="/assets/vendor/bootstrap/js/src/offcanvas-6e548788bdb299ccf15bad01f85a1c4e.js"> <link rel="modulepreload" href="/assets/stimulus-97656ab68e522ab9732b853e32a2116f.js"> <link rel="modulepreload" href="/assets/@symfony/stimulus-bundle/loader-870999a02e9fc147c034d522826ea70d.js"> <link rel="modulepreload" href="/assets/vendor/@hotwired/stimulus/stimulus.index-b5b1d00e42695b8959b4a1e94e3bc92a.js"> <link rel="modulepreload" href="/assets/@symfony/stimulus-bundle/controllers-30ef92e440b067edafb440f89903311e.js"> <link rel="modulepreload" href="/assets/@symfony/ux-live-component/live_controller-b4fdb1f53d5a5f813f85327cceb706b8.js"> <link rel="modulepreload" href="/assets/controllers/eventsmap_controller-dec85c248dc518bcca1ff8c1772842bc.js"> <link rel="modulepreload" href="/assets/search-04960a6f9bd1902ecc44ef024e74ecb9.js"> <link rel="modulepreload" href="/assets/vendor/mousetrap/mousetrap.index-2fcbabba04c2773c43d7b248b7bfcc5e.js"> <link rel="modulepreload" href="/assets/code-5fce8b30c71ee457fcb7e2630873c57e.js"> <link rel="modulepreload" href="/assets/download-a62ed9c2100a867a69b0768dce5aa27b.js"> <link rel="modulepreload" href="/assets/vendor/bootstrap/js/src/tab-7e2e431aae5d98b88d2f18d7c8e234f6.js"> <link rel="modulepreload" href="/assets/vendor/clipboard/clipboard.index-925566f98181665b5a61fea1bcd9033d.js"> <script type="module" data-turbo-track="reload">import 'app';import 'search';import 'code';import 'download';</script> <link rel="stylesheet" href="https://connect.symfony.com/css/sln.css"> <script type="text/javascript" defer> document.head.appendChild(Object.assign(document.createElement('script'), { src: 'https://connect.symfony.com/sln.js?customize_url=https%3A%2F%2Fsymfony.com%2Faccount%2Fsln_customiser.js', async: true, })); </script> <link rel="shortcut icon" type="image/svg+xml" href="/favicons/favicon.svg"> <link rel="alternate icon" type="image/png" sizes="180x180" href="/favicons/favicon-180x180.png"> <link rel="mask-icon" href="/favicons/safari-pinned-tab.svg" color="#5bbad5"> <link rel="apple-touch-icon" sizes="180x180" href="/favicons/apple-touch-icon.png"> <link rel="manifest" href="/static/webmanifest.json"> <meta name="msapplication-config" content="/static/browserconfig.xml" /> <meta name="theme-color" content="#ffffff"> <meta name="apple-mobile-web-app-title" content="Symfony"> <meta property="fb:pages" content="211720082183067"> <meta name="twitter:site" content="@symfony"> <meta name="twitter:card" content="summary_large_image" /> <meta property="og:type" content="website"> <meta property="og:title" content="Download Symfony Framework and Components"> <meta property="og:image" content="https://symfony.com/images/opengraph/symfony.png"> <meta property="og:image:alt" content="Download the Symfony CLI tool, create Symfony applications and use Symfony components."> <meta property="og:url" content="https://symfony.com/download"> <meta property="og:description" content="Download the Symfony CLI tool, create Symfony applications and use Symfony components."> <meta name="msapplication-TileColor" content="#262626"> <meta name="application-name" content="Symfony"> <meta name="msapplication-tooltip" content="Official Symfony website"> <meta name="theme-color" content="#262626"> <script async="true" data-browser-key="708cc1e7d4caf1babcf4add8f85ee4bab46c2fc9583f44e11b2bd8fb8a6d87ab" data-sample-rate="0.010000" data-parent-trace-id="60934a4b7ae4c00928ae83f694fe13ff" data-transaction-name="App\Controller\MarketingController::downloadAction" data-collector="https://ingest.blackfire.io" src="https://admin.pipeline.blackfire.io/js/probe.js"></script></head> <body data-turbo="false" class="" > <a href="#main-content" class="show-on-focus skip-to-content">Skip to content</a> <script> function setSymfonyWebsiteColorScheme () { const selectedColorScheme = localStorage.getItem('colorScheme') || 'sync'; const resolvedColorScheme = 'sync' === selectedColorScheme ? matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light' : selectedColorScheme; document.body.classList.remove('light-theme', 'dark-theme'); document.body.classList.add('light' === resolvedColorScheme ? 'light-theme' : 'dark-theme'); document.body.setAttribute('data-bs-theme', resolvedColorScheme); localStorage.setItem('colorScheme', selectedColorScheme); document.body.style.colorScheme = resolvedColorScheme; } setSymfonyWebsiteColorScheme(); window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', function (e) { setSymfonyWebsiteColorScheme(); }); document.body.classList.add( (navigator.appVersion.indexOf('Win') !== -1) ? 'windows' : (navigator.appVersion.indexOf('Mac') !== -1) ? 'macos' : 'linux' ); </script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"WebSite","name":"Symfony","url":"https:\/\/symfony.com","potentialAction":{"@type":"SearchAction","target":"https:\/\/symfony.com\/search?q={query}","query-input":"required name=query"}}</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Organization","url":"https:\/\/symfony.com","name":"Symfony","logo":"\/images\/logos\/sf-positive.svg","sameAs":["https:\/\/github.com\/symfony","https:\/\/stackoverflow.com\/questions\/tagged\/symfony","https:\/\/twitter.com\/symfony","https:\/\/www.facebook.com\/SymfonyFramework","https:\/\/www.youtube.com\/user\/SensioLabs"]}</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Event","eventAttendanceMode":"OfflineEventAttendanceMode","eventStatus":"https:\/\/schema.org\/EventScheduled","name":"SymfonyCon Vienna 2024","image":"\/images\/conferences\/sfcon.svg","organizer":{"@type":"Organization","name":"Symfony","url":"https:\/\/live.symfony.com"},"location":{"@type":"Place","address":{"@type":"PostalAddress","streetAddress":"Austria Center Vienna, Entrance n\u00b02, Bruno-Kreisky-Platz 1, , A-1220 Wien, Austria","addressLocality":"Vienna","addressCountry":"AT"},"geo":{"@type":"GeoCoordinates","latitude":48.235390000000002,"longitude":16.414549999999998}},"url":"https:\/\/live.symfony.com\/2024-vienna-con\/","startDate":"2024-12-05","endDate":"2024-12-06","offers":[{"@type":"Offer","price":399,"priceCurrency":"EUR","url":"https:\/\/live.symfony.com\/2024-vienna-con\/registration\/","validFrom":"2023-12-07T00:00:00+01:00","availability":"https:\/\/schema.org\/SoldOut"},{"@type":"Offer","price":490,"priceCurrency":"EUR","url":"https:\/\/live.symfony.com\/2024-vienna-con\/registration\/","validFrom":"2024-04-09T00:00:00+02:00","availability":"https:\/\/schema.org\/SoldOut"},{"@type":"Offer","price":659,"priceCurrency":"EUR","url":"https:\/\/live.symfony.com\/2024-vienna-con\/registration\/","validFrom":"2024-10-17T00:00:00+02:00","availability":"https:\/\/schema.org\/SoldOut"},{"@type":"Offer","price":759,"priceCurrency":"EUR","url":"https:\/\/live.symfony.com\/2024-vienna-con\/registration\/","validFrom":"2024-11-21T00:00:00+01:00","availability":"https:\/\/schema.org\/InStock"},{"@type":"Offer","price":919,"priceCurrency":"EUR","url":"https:\/\/live.symfony.com\/2024-vienna-con\/registration\/","validFrom":"2024-12-03T00:00:00+01:00","availability":"https:\/\/schema.org\/InStock"},{"@type":"Offer","price":149,"priceCurrency":"EUR","url":"https:\/\/live.symfony.com\/2024-vienna-con\/registration\/","validFrom":"2024-12-07T00:00:00+01:00","availability":"https:\/\/schema.org\/InStock"}]}</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Event","eventAttendanceMode":"OnlineEventAttendanceMode","eventStatus":"https:\/\/schema.org\/EventScheduled","name":"Symfony January 2025","image":"\/images\/conferences\/sfcon.svg","organizer":{"@type":"Organization","name":"Symfony","url":"https:\/\/live.symfony.com"},"location":{"@type":"VirtualLocation","url":"https:\/\/live.symfony.com\/2025-online-january\/"},"url":"https:\/\/live.symfony.com\/2025-online-january\/","startDate":"2025-01-16","endDate":"2025-01-17","offers":[{"@type":"Offer","price":79,"priceCurrency":"EUR","url":"https:\/\/live.symfony.com\/2025-online-january\/registration\/","validFrom":"2024-06-06T00:00:00+02:00","availability":"https:\/\/schema.org\/SoldOut"},{"@type":"Offer","price":119,"priceCurrency":"EUR","url":"https:\/\/live.symfony.com\/2025-online-january\/registration\/","validFrom":"2024-09-10T00:00:00+02:00","availability":"https:\/\/schema.org\/SoldOut"},{"@type":"Offer","price":149,"priceCurrency":"EUR","url":"https:\/\/live.symfony.com\/2025-online-january\/registration\/","validFrom":"2024-11-12T00:00:00+01:00","availability":"https:\/\/schema.org\/InStock"},{"@type":"Offer","price":149,"priceCurrency":"EUR","url":"https:\/\/live.symfony.com\/2025-online-january\/registration\/","validFrom":"2025-01-18T00:00:00+01:00","availability":"https:\/\/schema.org\/InStock"}]}</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Event","eventAttendanceMode":"OfflineEventAttendanceMode","eventStatus":"https:\/\/schema.org\/EventScheduled","name":"SymfonyLive Paris 2025","image":"\/images\/conferences\/sflive.svg","organizer":{"@type":"Organization","name":"Symfony","url":"https:\/\/live.symfony.com"},"location":{"@type":"Place","address":{"@type":"PostalAddress","streetAddress":"17, boulevard Jourdan, 75014 Paris","addressLocality":"Paris","addressCountry":"FR"},"geo":{"@type":"GeoCoordinates","latitude":48.820039999999999,"longitude":2.3388499999999999}},"url":"https:\/\/live.symfony.com\/2025-paris\/","startDate":"2025-03-27","endDate":"2025-03-28","offers":[{"@type":"Offer","price":349,"priceCurrency":"EUR","url":"https:\/\/live.symfony.com\/2025-paris\/registration\/","validFrom":"2024-03-29T15:00:00+01:00","availability":"https:\/\/schema.org\/SoldOut"},{"@type":"Offer","price":399,"priceCurrency":"EUR","url":"https:\/\/live.symfony.com\/2025-paris\/registration\/","validFrom":"2024-09-26T00:00:00+02:00","availability":"https:\/\/schema.org\/InStock"},{"@type":"Offer","price":499,"priceCurrency":"EUR","url":"https:\/\/live.symfony.com\/2025-paris\/registration\/","validFrom":"2025-01-23T00:00:00+01:00","availability":"https:\/\/schema.org\/InStock"},{"@type":"Offer","price":549,"priceCurrency":"EUR","url":"https:\/\/live.symfony.com\/2025-paris\/registration\/","validFrom":"2025-02-27T00:00:00+01:00","availability":"https:\/\/schema.org\/InStock"},{"@type":"Offer","price":599,"priceCurrency":"EUR","url":"https:\/\/live.symfony.com\/2025-paris\/registration\/","validFrom":"2025-03-26T00:00:00+01:00","availability":"https:\/\/schema.org\/InStock"},{"@type":"Offer","price":149,"priceCurrency":"EUR","url":"https:\/\/live.symfony.com\/2025-paris\/registration\/","validFrom":"2025-03-30T00:00:00+01:00","availability":"https:\/\/schema.org\/InStock"}]}</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Event","eventAttendanceMode":"OfflineEventAttendanceMode","eventStatus":"https:\/\/schema.org\/EventScheduled","name":"SymfonyLive Berlin 2025","image":"\/images\/conferences\/sflive.svg","organizer":{"@type":"Organization","name":"Symfony","url":"https:\/\/live.symfony.com"},"location":{"@type":"Place","address":{"@type":"PostalAddress","streetAddress":"CineStar CUBIX, Rathausstrasse 1, 10178 Berlin, Germany","addressLocality":"Berlin","addressCountry":"DE"},"geo":{"@type":"GeoCoordinates","latitude":52.520310000000002,"longitude":13.41194}},"url":"https:\/\/live.symfony.com\/2025-berlin\/","startDate":"2025-04-03","endDate":"2025-04-04","offers":[{"@type":"Offer","price":399,"priceCurrency":"EUR","url":"https:\/\/live.symfony.com\/2025-berlin\/registration\/","validFrom":"2024-07-09T00:00:00+02:00","availability":"https:\/\/schema.org\/SoldOut"},{"@type":"Offer","price":499,"priceCurrency":"EUR","url":"https:\/\/live.symfony.com\/2025-berlin\/registration\/","validFrom":"2024-10-08T00:00:00+02:00","availability":"https:\/\/schema.org\/InStock"},{"@type":"Offer","price":549,"priceCurrency":"EUR","url":"https:\/\/live.symfony.com\/2025-berlin\/registration\/","validFrom":"2025-01-28T00:00:00+01:00","availability":"https:\/\/schema.org\/InStock"},{"@type":"Offer","price":599,"priceCurrency":"EUR","url":"https:\/\/live.symfony.com\/2025-berlin\/registration\/","validFrom":"2025-03-04T00:00:00+01:00","availability":"https:\/\/schema.org\/InStock"},{"@type":"Offer","price":649,"priceCurrency":"EUR","url":"https:\/\/live.symfony.com\/2025-berlin\/registration\/","validFrom":"2025-04-01T00:00:00+02:00","availability":"https:\/\/schema.org\/InStock"}]}</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Event","eventAttendanceMode":"OnlineEventAttendanceMode","eventStatus":"https:\/\/schema.org\/EventScheduled","name":"Symfony June 2025","image":"\/images\/conferences\/sfcon.svg","organizer":{"@type":"Organization","name":"Symfony","url":"https:\/\/live.symfony.com"},"location":{"@type":"VirtualLocation","url":"https:\/\/live.symfony.com\/2025-online-june\/"},"url":"https:\/\/live.symfony.com\/2025-online-june\/","startDate":"2025-06-12","endDate":"2025-06-13","offers":[{"@type":"Offer","price":79,"priceCurrency":"EUR","url":"https:\/\/live.symfony.com\/2025-online-june\/registration\/","validFrom":"2024-10-01T00:00:00+02:00","availability":"https:\/\/schema.org\/InStock"},{"@type":"Offer","price":119,"priceCurrency":"EUR","url":"https:\/\/live.symfony.com\/2025-online-june\/registration\/","validFrom":"2025-02-20T00:00:00+01:00","availability":"https:\/\/schema.org\/InStock"},{"@type":"Offer","price":149,"priceCurrency":"EUR","url":"https:\/\/live.symfony.com\/2025-online-june\/registration\/","validFrom":"2025-05-08T00:00:00+02:00","availability":"https:\/\/schema.org\/InStock"},{"@type":"Offer","price":149,"priceCurrency":"EUR","url":"https:\/\/live.symfony.com\/2025-online-june\/registration\/","validFrom":"2025-06-14T00:00:00+02:00","availability":"https:\/\/schema.org\/InStock"}]}</script> <div id="sln"></div> <header> <div class="ui-page-container "> <nav class="navbar navbar-expand-lg"> <a class="navbar-brand" href="/" aria-label="Symfony"> <span aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="260" height="66" viewBox="0 0 260 66"><circle fill="#1A171B" cx="32.455" cy="32.665" r="32.455"/><path fill="#FFF" d="M46.644 12.219c-3.297.115-6.175 1.932-8.317 4.446-2.372 2.756-3.95 6.025-5.087 9.362-2.034-1.667-3.603-3.825-6.866-4.766-2.522-.724-5.171-.425-7.607 1.39-1.154.862-1.949 2.165-2.327 3.39-.979 3.183 1.029 6.016 1.941 7.033l1.994 2.137c.411.419 1.401 1.512.917 3.079-.523 1.704-2.577 2.807-4.684 2.157-.941-.287-2.293-.988-1.99-1.975.125-.404.414-.706.569-1.055.142-.3.21-.525.253-.657.385-1.257-.141-2.892-1.487-3.307-1.256-.385-2.541-.08-3.039 1.537-.565 1.837.314 5.171 5.023 6.623 5.517 1.695 10.184-1.309 10.846-5.227.417-2.454-.691-4.277-2.721-6.622l-1.654-1.829c-1.002-1.001-1.346-2.707-.309-4.018.875-1.106 2.121-1.578 4.162-1.023 2.979.809 4.307 2.876 6.523 4.543-.915 3.001-1.513 6.013-2.054 8.714l-.33 2.014c-1.584 8.308-2.793 12.87-5.935 15.489-.633.45-1.538 1.124-2.902 1.171-.715.022-.946-.47-.956-.684-.017-.502.406-.732.687-.958.42-.229 1.055-.609 1.012-1.826-.046-1.438-1.237-2.685-2.959-2.628-1.29.044-3.256 1.258-3.182 3.48.077 2.295 2.216 4.015 5.441 3.906 1.724-.059 5.574-.761 9.368-5.271 4.416-5.17 5.651-11.097 6.58-15.435l1.037-5.727c.576.069 1.192.115 1.862.131 5.5.116 8.251-2.733 8.292-4.805.027-1.254-.823-2.488-2.013-2.46-.852.024-1.922.591-2.179 1.769-.251 1.156 1.75 2.199.186 3.212-1.111.719-3.103 1.226-5.908.814l.51-2.819c1.041-5.346 2.325-11.922 7.196-12.082.355-.018 1.654.016 1.684.875.009.287-.062.36-.398 1.017-.342.512-.471.948-.455 1.449.047 1.365 1.085 2.262 2.586 2.208 2.01-.065 2.588-2.022 2.555-3.027-.081-2.361-2.57-3.853-5.865-3.745z"/><path fill="#1A171B" d="M196.782 23.534c7.48 0 12.499 5.407 12.499 12.887 0 7.048-5.116 12.886-12.499 12.886-7.435 0-12.55-5.838-12.55-12.886 0-7.48 5.018-12.887 12.55-12.887zm0 22.109c5.306 0 7.671-4.827 7.671-9.222 0-4.68-2.847-9.217-7.671-9.217-4.877 0-7.724 4.537-7.724 9.217.001 4.394 2.365 9.222 7.724 9.222zM183.61 25.825v-1.713h-6.518v-2.341c0-3.33.483-5.842 4.391-5.842.072 0 .149.005.224.008.008 0 .007-.012.016-.012 1.085.08 1.987-.804 2.048-1.887l.08-1.486c-.915-.146-1.884-.29-3.039-.29-6.709 0-8.255 3.91-8.255 9.896v1.955h-5.795v1.913c.149.99.996 1.752 2.031 1.752.006 0 .009.005.016.005h3.748V48.73h2.5l.006-.001c1.04 0 1.892-.779 2.03-1.779V27.783h4.538a2.052 2.052 0 0 0 1.979-1.958zm-60.435-1.713c-.008 0-.013.006-.024.006-.956 0-1.882.657-2.286 1.545l-6.244 18.82h-.096l-6.106-18.81c-.399-.893-1.329-1.555-2.291-1.555-.011 0-.015-.006-.024-.006h-3.164l8.351 22.977c.291.821.871 2.077.871 2.606 0 .483-1.353 6.08-5.409 6.08-.1 0-.201-.009-.3-.017-1.034-.057-1.815.665-1.989 1.779l-.124 1.57c.82.145 1.645.338 3.092.338 5.984 0 7.769-5.455 9.46-10.185l9.073-25.149h-2.79zm-28.843 5c-3.747-1.917-7.847-3.218-7.918-7.076.012-4.097 3.776-5.172 6.677-5.169.012-.002.024-.002.031-.002 1.26 0 2.268.125 3.251.34.013 0 .011-.016.027-.016 1.039.076 1.911-.737 2.034-1.762l.083-1.488c-1.902-.473-3.889-.712-5.619-.712-6.309.039-10.992 3.213-11.007 9.268.009 5.296 3.578 7.349 7.416 9.207 3.764 1.81 7.888 3.305 7.924 7.674-.023 4.56-4.423 6.241-7.455 6.247-1.773-.006-3.698-.449-5.32-.96-1.017-.168-1.851.729-1.982 1.917l-.138 1.327c2.23.72 4.517 1.348 6.815 1.348h.027c7.065-.051 12.557-2.869 12.578-10.185-.011-5.645-3.604-8.016-7.424-9.958zm68.623 19.617l.006-.001c.98 0 1.796-.687 2.004-1.604V32.947c0-5.358-2.267-9.413-8.546-9.413-2.219 0-5.934 1.257-7.623 4.779-1.306-3.331-4.15-4.779-7-4.779-3.619 0-6.082 1.303-7.816 4.152h-.099v-1.532a2.058 2.058 0 0 0-2.055-2.036c-.008 0-.014-.006-.022-.006h-2.169v24.617h2.456l.006-.001a2.06 2.06 0 0 0 2.059-2.059c0-.03.011-.042.016-.063v-10.28c0-4.585 1.834-9.122 6.467-9.122 3.669 0 4.396 3.811 4.396 6.853V48.73h2.49l.007-.001a2.05 2.05 0 0 0 2.037-1.873v-10.53c0-4.585 1.835-9.122 6.468-9.122 3.667 0 4.393 3.811 4.393 6.853V48.73h2.525zm70.113 0l.008-.001a2.054 2.054 0 0 0 2.049-1.964v-12.66c0-6.611-2.85-10.571-9.222-10.571-3.426 0-6.705 1.691-8.059 4.491h-.097v-1.839c0-.001-.004-.001-.004-.006a2.057 2.057 0 0 0-2.058-2.061c-.011 0-.015-.006-.022-.006h-2.311v24.617h2.493l.007-.001a2.05 2.05 0 0 0 2.038-1.895v-9.495c0-5.984 2.319-10.135 7.482-10.135 3.96.24 5.211 3.038 5.211 8.783v12.742h2.485zm24.428-24.617c-.011 0-.014.006-.026.006-.954 0-1.883.657-2.283 1.545l-6.242 18.82h-.102l-6.104-18.81c-.401-.893-1.331-1.555-2.293-1.555-.007 0-.015-.006-.021-.006h-3.164l8.351 22.977c.291.821.873 2.077.873 2.606 0 .483-1.355 6.08-5.41 6.08-.102 0-.201-.009-.301-.017-1.033-.057-1.815.665-1.99 1.779l-.122 1.57c.82.145 1.645.338 3.091.338 5.984 0 7.772-5.455 9.462-10.185l9.074-25.149h-2.793z"/></svg></span> </a> <button class="navbar-toggler" type="button" data-bs-toggle="offcanvas" data-bs-target="#header-nav-menu" aria-controls="header-nav-menu" aria-expanded="false" aria-label="Toggle navigation"> <svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16"></path></svg> </button> <div class="offcanvas offcanvas-end" tabindex="-1" id="header-nav-menu"> <div class="offcanvas-header justify-content-end"> <button type="button" class="btn-close" data-bs-dismiss="offcanvas" aria-label="Close">Close</button> </div> <div class="offcanvas-body align-items-center"> <div id="sensiolabs-highlight-responsive-menu"></div> <ul class="navbar-nav flex-grow-1" role="menubar" aria-label="Menu"> <li role="none" class="nav-item"> <span tabindex="0" class="nav-header" role="menuitem" aria-haspopup="true" aria-expanded="false">About</span> <div class="submenu"> <ul role="menu" aria-label="About"> <li role="none" class="nav-link-with-icon"> <span class="nav-link-icon"> <svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M6 13q.687 1 2 1c1.313 0 2-.875 2-1.5c0-1.5-2-1-2-2C8 9.875 8.516 9 9.5 9c2.5 0 1.563 2 5.5 2q1 0 1-1"></path><path d="M9 17q-.143 1 1 1q2.571 0 3-6c.286-4 1.571-6 3-6q.857 0 1 1"></path><path d="M22 12c0 5.523-4.477 10-10 10S2 17.523 2 12S6.477 2 12 2a10 10 0 0 1 10 10"></path></g></svg> </span> <a role="menuitem" class="nav-link" href="/what-is-symfony">What is Symfony?</a> </li> <li role="none" class="nav-link-with-icon"> <span class="nav-link-icon"> <svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 7a4 4 0 1 0 8 0a4 4 0 1 0-8 0M3 21v-2a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v2m1-17.87a4 4 0 0 1 0 7.75M21 21v-2a4 4 0 0 0-3-3.85"></path></svg> </span> <a role="menuitem" class="nav-link" href="/community">Community</a> </li> <li role="none" class="nav-link-with-icon"> <span class="nav-link-icon"> <svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M16 6h3a1 1 0 0 1 1 1v11a2 2 0 0 1-4 0V5a1 1 0 0 0-1-1H5a1 1 0 0 0-1 1v12a3 3 0 0 0 3 3h11M8 8h4m-4 4h4m-4 4h4"></path></svg> </span> <a role="menuitem" class="nav-link" href="/blog/">News</a> </li> <li role="none" class="nav-link-with-icon"> <span class="nav-link-icon"> <svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M2 8a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2zm4 2v.01m4-.01v.01m4-.01v.01m4-.01v.01M6 14v.01M18 14v.01M10 14l4 .01"></path></svg> </span> <a role="menuitem" class="nav-link" href="/doc/current/contributing/index.html">Contributing</a> </li> <li role="none" class="nav-link-with-icon"> <span class="nav-link-icon"> <svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M3 12a9 9 0 1 0 18 0a9 9 0 1 0-18 0m9 5v.01"></path><path d="M12 13.5a1.5 1.5 0 0 1 1-1.5a2.6 2.6 0 1 0-3-4"></path></g></svg> </span> <a role="menuitem" class="nav-link" href="/support">Support</a> </li> </ul> </div> </li> <li role="none" class="nav-item"> <span tabindex="0" class="nav-header" role="menuitem" aria-haspopup="true" aria-expanded="false">Documentation</span> <div class="submenu"> <ul role="menu" aria-label="Documentation"> <li role="none" class="nav-link-with-icon"> <span class="nav-link-icon"> <svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M5 5a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1zm4 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1zM5 8h4m0 8h4"></path><path d="m13.803 4.56l2.184-.53c.562-.135 1.133.19 1.282.732l3.695 13.418a1.02 1.02 0 0 1-.634 1.219l-.133.041l-2.184.53c-.562.135-1.133-.19-1.282-.732L13.036 5.82a1.02 1.02 0 0 1 .634-1.219zM14 9l4-1m-2 8l3.923-.98"></path></g></svg> </span> <a role="menuitem" class="nav-link" href="/doc/current/index.html">Symfony Docs</a> </li> <li role="none" class="nav-link-with-icon"> <span class="nav-link-icon"> <svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M19 4v16H7a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2z"></path><path d="M19 16H7a2 2 0 0 0-2 2M9 8h6"></path></g></svg> </span> <a role="menuitem" class="nav-link" href="/book">Symfony Book</a> </li> <li role="none" class="nav-link-with-icon"> <span class="nav-link-icon"> <svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m15 10l4.553-2.276A1 1 0 0 1 21 8.618v6.764a1 1 0 0 1-1.447.894L15 14zM3 8a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path></svg> </span> <a role="menuitem" class="nav-link" href="https://symfonycasts.com">Screencasts</a> </li> <li role="none" class="nav-link-with-icon"> <span class="nav-link-icon"> <svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m12 3l8 4.5v9L12 21l-8-4.5v-9zm0 9l8-4.5M12 12v9m0-9L4 7.5"></path></svg> </span> <a role="menuitem" class="nav-link" href="/bundles">Symfony Bundles</a> </li> <li role="none" class="nav-link-with-icon"> <span class="nav-link-icon"> <svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6.657 18C4.085 18 2 15.993 2 13.517s2.085-4.482 4.657-4.482c.393-1.762 1.794-3.2 3.675-3.773c1.88-.572 3.956-.193 5.444 1c1.488 1.19 2.162 3.007 1.77 4.769h.99c1.913 0 3.464 1.56 3.464 3.486s-1.551 3.487-3.465 3.487H6.657"></path></svg> </span> <a role="menuitem" class="nav-link" href="/doc/cloud/">Symfony Cloud</a> </li> <li role="none" class="nav-link-with-icon"> <span class="nav-link-icon"> <svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M22 9L12 5L2 9l10 4zv6"></path><path d="M6 10.6V16a6 3 0 0 0 12 0v-5.4"></path></g></svg> </span> <a role="menuitem" class="nav-link" href="https://sensiolabs.com/training?utm_source=symfony&utm_medium=symfony_submenu&utm_campaign=permanent_referral">Training</a> </li> </ul> </div> </li> <li role="none" class="nav-item menu-services"> <span tabindex="0" class="nav-header" role="menuitem" aria-haspopup="true" aria-expanded="false">Services</span> <div class="submenu"> <ul role="menu" aria-label="Services"> <li role="none" class="nav-link-with-icon"> <span class="nav-link-icon"> <svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6.657 18C4.085 18 2 15.993 2 13.517s2.085-4.482 4.657-4.482c.393-1.762 1.794-3.2 3.675-3.773c1.88-.572 3.956-.193 5.444 1c1.488 1.19 2.162 3.007 1.77 4.769h.99c1.913 0 3.464 1.56 3.464 3.486s-1.551 3.487-3.465 3.487H6.657"></path></svg> </span> <span> <a role="menuitem" class="nav-link" href="/cloud/">Platform.sh for Symfony</a> <span class="nav-link-description">Best platform to deploy Symfony apps</span> </span> </li> <li role="none" class="nav-link-with-icon"> <span class="nav-link-icon"> <svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M8 5H6a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h5.697M18 12V7a2 2 0 0 0-2-2h-2"></path><path d="M8 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v0a2 2 0 0 1-2 2h-2a2 2 0 0 1-2-2m0 6h4m-4 4h3m3 2.5a2.5 2.5 0 1 0 5 0a2.5 2.5 0 1 0-5 0m4.5 2L21 22"></path></g></svg> </span> <span> <a role="menuitem" class="nav-link" href="https://insight.symfony.com">SymfonyInsight</a> <span class="nav-link-description">Automatic quality checks for your apps</span> </span> </li> <li role="none" class="nav-link-with-icon"> <span class="nav-link-icon"> <svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M12 15a3 3 0 1 0 6 0a3 3 0 1 0-6 0"></path><path d="M13 17.5V22l2-1.5l2 1.5v-4.5"></path><path d="M10 19H5a2 2 0 0 1-2-2V7c0-1.1.9-2 2-2h14a2 2 0 0 1 2 2v10a2 2 0 0 1-1 1.73M6 9h12M6 12h3m-3 3h2"></path></g></svg> </span> <span> <a role="menuitem" class="nav-link" href="https://certification.symfony.com">Symfony Certification</a> <span class="nav-link-description">Prove your knowledge and boost your career</span> </span> </li> <li role="none" class="nav-link-with-icon"> <span class="nav-link-icon"> <svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M3 9a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2zm5-2V5a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2m-4 5v.01"></path><path d="M3 13a20 20 0 0 0 18 0"></path></g></svg> </span> <span> <a role="menuitem" class="nav-link" href="https://sensiolabs.com/?utm_source=symfony&utm_medium=symfony_submenu&utm_campaign=permanent_referral">SensioLabs</a> <span class="nav-link-description">Professional services to help you with Symfony</span> </span> </li> <li role="none" class="nav-link-with-icon"> <span class="nav-link-icon"> <svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 12c2-2.96 0-7-1-8c0 3.038-1.773 4.741-3 6c-1.226 1.26-2 3.24-2 5a6 6 0 1 0 12 0c0-1.532-1.056-3.94-2-5c-1.786 3-2.791 3-4 2"></path></svg> </span> <span> <a role="menuitem" class="nav-link" href="https://www.blackfire.io/?utm_source=symfony&utm_medium=symfonycom_footer&utm_campaign=profiler">Blackfire</a> <span class="nav-link-description">Profile and monitor performance of your apps</span> </span> </li> </ul> </div> </li> <li role="none" class="d-lg-none"> <span class="nav-header">Other</span> </li> <li role="none" class="nav-item nav-item-standalone"> <a role="menuitem" class="nav-link" href="/blog/">Blog</a> </li> <li role="none" class="nav-item nav-item-standalone"> <a role="menuitem" class="nav-link" href="/download">Download</a> </li> </ul> <div class="sensiolabs d-none d-lg-block text-center position-relative"> <span class="byline">sponsored by</span> <a target="_blank" class="ui-stretched-link d-inline-block mt-2 mt-md-0" rel="external noopener" href="https://sensiolabs.com/?utm_source=symfony&utm_medium=symfony_sponsoredby&utm_campaign=permanent_referral" title="SensioLabs, PHP services and software solutions for enterprise and community."> <span class="dark-theme d-md-none"> <svg version="1.1" x="0px" y="0px" viewBox="0 0 326.866 51.069" width="81px" height="13px" enable-background="new 0 0 326.866 51.069" space="preserve" class="logo-sensiolabs" fill="currentColor" aria-hidden="true"><style> .logo-sensiolabs path.sensio-word { fill: #000000; } .logo-sensiolabs path.labs-word { fill: #82E83F; } .dark-theme .logo-sensiolabs path.sensio-word { fill: #FFFFFF; } </style><g> <path class="sensio-word" d="M10.459,33.728c0,6.486,5.091,9.012,10.872,9.012c3.784,0,9.563-1.094,9.563-6.073c0-5.26-7.362-6.147-14.586-8.059 c-7.294-1.911-14.656-4.71-14.656-13.861C1.652,4.779,11.147,0,20.022,0c10.253,0,19.679,4.439,19.679,15.702H29.242 c-0.344-5.87-4.54-7.373-9.7-7.373c-3.44,0-7.431,1.434-7.431,5.531c0,3.755,2.338,4.232,14.655,7.374 c3.577,0.887,14.586,3.141,14.586,14.2c0,8.944-7.087,15.635-20.435,15.635c-10.871,0-21.053-5.323-20.916-17.342H10.459z"></path> <path class="sensio-word" d="M51.453,34.488c0.275,6.192,3.302,9.013,8.737,9.013c3.922,0,7.088-2.408,7.707-4.611h8.6 c-2.753,8.395-8.6,11.973-16.65,11.973c-11.215,0-18.165-7.706-18.165-18.713c0-10.666,7.363-18.784,18.165-18.784 c12.109,0,17.957,10.183,17.27,21.123H51.453z M67.347,28.295c-0.895-4.953-3.027-7.568-7.775-7.568 c-6.192,0-7.981,4.816-8.118,7.568H67.347z"></path> <path class="sensio-word" d="M78.026,14.327h9.287v4.956h0.207c2.477-3.991,6.742-5.918,10.871-5.918c10.389,0,13.004,5.847,13.004,14.653v21.88h-9.771 v-20.09c0-5.849-1.72-8.738-6.263-8.738c-5.297,0-7.567,2.958-7.567,10.182v18.646h-9.769V14.327z"></path> <path class="sensio-word" d="M121.47,38.34c0.069,4.267,3.647,5.986,7.5,5.986c2.817,0,6.396-1.101,6.396-4.54c0-2.96-4.059-3.991-11.075-5.505 c-5.642-1.238-11.282-3.233-11.282-9.496c0-9.08,7.842-11.42,15.479-11.42c7.773,0,14.93,2.613,15.685,11.352h-9.289 c-0.272-3.783-3.164-4.814-6.672-4.814c-2.199,0-5.434,0.412-5.434,3.301c0,3.509,5.503,3.99,11.074,5.3 c5.711,1.306,11.284,3.37,11.284,9.974c0,9.359-8.118,12.386-16.235,12.386c-8.256,0-16.307-3.096-16.721-12.522H121.47z"></path> <path class="sensio-word" d="M155.728,8.823h-9.769v-8.05h9.769V8.823z M145.959,14.327h9.769v35.571h-9.769V14.327z"></path> <path class="sensio-word" d="M175.05,13.365c11.214,0,18.438,7.43,18.438,18.783c0,11.283-7.225,18.714-18.438,18.714 c-11.146,0-18.37-7.431-18.37-18.714C156.68,20.795,163.904,13.365,175.05,13.365 M175.05,43.501c6.674,0,8.669-5.711,8.669-11.353 c0-5.712-1.995-11.422-8.669-11.422c-6.604,0-8.601,5.71-8.601,11.422C166.449,37.79,168.445,43.501,175.05,43.501"></path> </g><g> <path class="labs-word" d="M195.349,49.579V1.357h9.817v40.03h19.409v8.191H195.349z"></path> <path class="labs-word" d="M234.742,25.104l-8.457-1.526c0.95-3.404,2.587-5.925,4.909-7.562c2.32-1.636,5.77-2.454,10.347-2.454 c4.157,0,7.252,0.492,9.286,1.476c2.034,0.984,3.467,2.233,4.295,3.748c0.83,1.515,1.244,4.295,1.244,8.341l-0.1,10.879 c0,3.096,0.149,5.378,0.447,6.849c0.299,1.47,0.857,3.046,1.676,4.726h-9.221c-0.243-0.619-0.541-1.536-0.895-2.753 c-0.156-0.552-0.266-0.917-0.332-1.095c-1.592,1.549-3.295,2.709-5.107,3.482c-1.813,0.774-3.748,1.161-5.805,1.161 c-3.626,0-6.483-0.983-8.572-2.951c-2.09-1.968-3.135-4.455-3.135-7.463c0-1.989,0.476-3.764,1.426-5.323 c0.951-1.559,2.283-2.752,3.997-3.581c1.713-0.829,4.185-1.554,7.412-2.173c4.356-0.817,7.374-1.58,9.054-2.288v-0.929 c0-1.791-0.441-3.068-1.326-3.831s-2.554-1.144-5.008-1.144c-1.658,0-2.951,0.326-3.881,0.979 C236.069,22.323,235.317,23.467,234.742,25.104z M247.212,32.665c-1.193,0.397-3.084,0.873-5.671,1.426s-4.278,1.095-5.074,1.625 c-1.216,0.862-1.823,1.957-1.823,3.283c0,1.306,0.485,2.433,1.459,3.383c0.973,0.951,2.211,1.427,3.715,1.427 c1.68,0,3.283-0.553,4.809-1.658c1.127-0.841,1.867-1.868,2.222-3.085c0.243-0.796,0.364-2.31,0.364-4.543V32.665z"></path> <path class="labs-word" d="M260.093,49.579V0.959h9.318V18.47c2.875-3.271,6.279-4.908,10.215-4.908c4.289,0,7.838,1.554,10.646,4.66 c2.808,3.106,4.212,7.567,4.212,13.382c0,6.015-1.432,10.646-4.295,13.896s-6.341,4.875-10.431,4.875 c-2.012,0-3.996-0.503-5.953-1.509s-3.643-2.493-5.058-4.461v5.174H260.093z M269.345,31.205c0,3.648,0.575,6.347,1.725,8.093 c1.614,2.477,3.759,3.715,6.435,3.715c2.056,0,3.808-0.879,5.257-2.637c1.447-1.758,2.172-4.527,2.172-8.309 c0-4.023-0.729-6.926-2.188-8.705c-1.46-1.78-3.328-2.67-5.604-2.67c-2.234,0-4.092,0.868-5.572,2.604 C270.086,25.031,269.345,27.668,269.345,31.205z"></path> <path class="labs-word" d="M293.967,39.53l9.353-1.427c0.398,1.813,1.205,3.19,2.422,4.13c1.215,0.939,2.918,1.409,5.107,1.409 c2.409,0,4.223-0.442,5.438-1.327c0.817-0.618,1.228-1.447,1.228-2.487c0-0.707-0.222-1.293-0.664-1.758 c-0.464-0.441-1.504-0.851-3.117-1.227c-7.518-1.658-12.283-3.173-14.294-4.544c-2.786-1.901-4.179-4.544-4.179-7.927 c0-3.051,1.205-5.615,3.615-7.694c2.409-2.077,6.146-3.117,11.209-3.117c4.82,0,8.402,0.785,10.746,2.354 c2.344,1.57,3.957,3.892,4.842,6.965l-8.789,1.625c-0.376-1.37-1.089-2.421-2.139-3.15c-1.051-0.729-2.549-1.095-4.494-1.095 c-2.454,0-4.212,0.344-5.273,1.028c-0.707,0.486-1.061,1.117-1.061,1.891c0,0.663,0.309,1.227,0.928,1.691 c0.84,0.619,3.742,1.492,8.707,2.62c4.963,1.127,8.429,2.51,10.396,4.146c1.945,1.658,2.918,3.969,2.918,6.932 c0,3.229-1.348,6.003-4.045,8.324c-2.698,2.321-6.689,3.482-11.973,3.482c-4.799,0-8.596-0.973-11.393-2.919 C296.659,45.511,294.829,42.869,293.967,39.53z"></path> </g></svg> </span> <span class="d-none d-md-inline-block"> <svg version="1.1" x="0px" y="0px" viewBox="0 0 326.866 51.069" width="81px" height="13px" enable-background="new 0 0 326.866 51.069" space="preserve" class="logo-sensiolabs" fill="currentColor" aria-hidden="true"><style> .logo-sensiolabs path.sensio-word { fill: #000000; } .logo-sensiolabs path.labs-word { fill: #82E83F; } .dark-theme .logo-sensiolabs path.sensio-word { fill: #FFFFFF; } </style><g> <path class="sensio-word" d="M10.459,33.728c0,6.486,5.091,9.012,10.872,9.012c3.784,0,9.563-1.094,9.563-6.073c0-5.26-7.362-6.147-14.586-8.059 c-7.294-1.911-14.656-4.71-14.656-13.861C1.652,4.779,11.147,0,20.022,0c10.253,0,19.679,4.439,19.679,15.702H29.242 c-0.344-5.87-4.54-7.373-9.7-7.373c-3.44,0-7.431,1.434-7.431,5.531c0,3.755,2.338,4.232,14.655,7.374 c3.577,0.887,14.586,3.141,14.586,14.2c0,8.944-7.087,15.635-20.435,15.635c-10.871,0-21.053-5.323-20.916-17.342H10.459z"></path> <path class="sensio-word" d="M51.453,34.488c0.275,6.192,3.302,9.013,8.737,9.013c3.922,0,7.088-2.408,7.707-4.611h8.6 c-2.753,8.395-8.6,11.973-16.65,11.973c-11.215,0-18.165-7.706-18.165-18.713c0-10.666,7.363-18.784,18.165-18.784 c12.109,0,17.957,10.183,17.27,21.123H51.453z M67.347,28.295c-0.895-4.953-3.027-7.568-7.775-7.568 c-6.192,0-7.981,4.816-8.118,7.568H67.347z"></path> <path class="sensio-word" d="M78.026,14.327h9.287v4.956h0.207c2.477-3.991,6.742-5.918,10.871-5.918c10.389,0,13.004,5.847,13.004,14.653v21.88h-9.771 v-20.09c0-5.849-1.72-8.738-6.263-8.738c-5.297,0-7.567,2.958-7.567,10.182v18.646h-9.769V14.327z"></path> <path class="sensio-word" d="M121.47,38.34c0.069,4.267,3.647,5.986,7.5,5.986c2.817,0,6.396-1.101,6.396-4.54c0-2.96-4.059-3.991-11.075-5.505 c-5.642-1.238-11.282-3.233-11.282-9.496c0-9.08,7.842-11.42,15.479-11.42c7.773,0,14.93,2.613,15.685,11.352h-9.289 c-0.272-3.783-3.164-4.814-6.672-4.814c-2.199,0-5.434,0.412-5.434,3.301c0,3.509,5.503,3.99,11.074,5.3 c5.711,1.306,11.284,3.37,11.284,9.974c0,9.359-8.118,12.386-16.235,12.386c-8.256,0-16.307-3.096-16.721-12.522H121.47z"></path> <path class="sensio-word" d="M155.728,8.823h-9.769v-8.05h9.769V8.823z M145.959,14.327h9.769v35.571h-9.769V14.327z"></path> <path class="sensio-word" d="M175.05,13.365c11.214,0,18.438,7.43,18.438,18.783c0,11.283-7.225,18.714-18.438,18.714 c-11.146,0-18.37-7.431-18.37-18.714C156.68,20.795,163.904,13.365,175.05,13.365 M175.05,43.501c6.674,0,8.669-5.711,8.669-11.353 c0-5.712-1.995-11.422-8.669-11.422c-6.604,0-8.601,5.71-8.601,11.422C166.449,37.79,168.445,43.501,175.05,43.501"></path> </g><g> <path class="labs-word" d="M195.349,49.579V1.357h9.817v40.03h19.409v8.191H195.349z"></path> <path class="labs-word" d="M234.742,25.104l-8.457-1.526c0.95-3.404,2.587-5.925,4.909-7.562c2.32-1.636,5.77-2.454,10.347-2.454 c4.157,0,7.252,0.492,9.286,1.476c2.034,0.984,3.467,2.233,4.295,3.748c0.83,1.515,1.244,4.295,1.244,8.341l-0.1,10.879 c0,3.096,0.149,5.378,0.447,6.849c0.299,1.47,0.857,3.046,1.676,4.726h-9.221c-0.243-0.619-0.541-1.536-0.895-2.753 c-0.156-0.552-0.266-0.917-0.332-1.095c-1.592,1.549-3.295,2.709-5.107,3.482c-1.813,0.774-3.748,1.161-5.805,1.161 c-3.626,0-6.483-0.983-8.572-2.951c-2.09-1.968-3.135-4.455-3.135-7.463c0-1.989,0.476-3.764,1.426-5.323 c0.951-1.559,2.283-2.752,3.997-3.581c1.713-0.829,4.185-1.554,7.412-2.173c4.356-0.817,7.374-1.58,9.054-2.288v-0.929 c0-1.791-0.441-3.068-1.326-3.831s-2.554-1.144-5.008-1.144c-1.658,0-2.951,0.326-3.881,0.979 C236.069,22.323,235.317,23.467,234.742,25.104z M247.212,32.665c-1.193,0.397-3.084,0.873-5.671,1.426s-4.278,1.095-5.074,1.625 c-1.216,0.862-1.823,1.957-1.823,3.283c0,1.306,0.485,2.433,1.459,3.383c0.973,0.951,2.211,1.427,3.715,1.427 c1.68,0,3.283-0.553,4.809-1.658c1.127-0.841,1.867-1.868,2.222-3.085c0.243-0.796,0.364-2.31,0.364-4.543V32.665z"></path> <path class="labs-word" d="M260.093,49.579V0.959h9.318V18.47c2.875-3.271,6.279-4.908,10.215-4.908c4.289,0,7.838,1.554,10.646,4.66 c2.808,3.106,4.212,7.567,4.212,13.382c0,6.015-1.432,10.646-4.295,13.896s-6.341,4.875-10.431,4.875 c-2.012,0-3.996-0.503-5.953-1.509s-3.643-2.493-5.058-4.461v5.174H260.093z M269.345,31.205c0,3.648,0.575,6.347,1.725,8.093 c1.614,2.477,3.759,3.715,6.435,3.715c2.056,0,3.808-0.879,5.257-2.637c1.447-1.758,2.172-4.527,2.172-8.309 c0-4.023-0.729-6.926-2.188-8.705c-1.46-1.78-3.328-2.67-5.604-2.67c-2.234,0-4.092,0.868-5.572,2.604 C270.086,25.031,269.345,27.668,269.345,31.205z"></path> <path class="labs-word" d="M293.967,39.53l9.353-1.427c0.398,1.813,1.205,3.19,2.422,4.13c1.215,0.939,2.918,1.409,5.107,1.409 c2.409,0,4.223-0.442,5.438-1.327c0.817-0.618,1.228-1.447,1.228-2.487c0-0.707-0.222-1.293-0.664-1.758 c-0.464-0.441-1.504-0.851-3.117-1.227c-7.518-1.658-12.283-3.173-14.294-4.544c-2.786-1.901-4.179-4.544-4.179-7.927 c0-3.051,1.205-5.615,3.615-7.694c2.409-2.077,6.146-3.117,11.209-3.117c4.82,0,8.402,0.785,10.746,2.354 c2.344,1.57,3.957,3.892,4.842,6.965l-8.789,1.625c-0.376-1.37-1.089-2.421-2.139-3.15c-1.051-0.729-2.549-1.095-4.494-1.095 c-2.454,0-4.212,0.344-5.273,1.028c-0.707,0.486-1.061,1.117-1.061,1.891c0,0.663,0.309,1.227,0.928,1.691 c0.84,0.619,3.742,1.492,8.707,2.62c4.963,1.127,8.429,2.51,10.396,4.146c1.945,1.658,2.918,3.969,2.918,6.932 c0,3.229-1.348,6.003-4.045,8.324c-2.698,2.321-6.689,3.482-11.973,3.482c-4.799,0-8.596-0.973-11.393-2.919 C296.659,45.511,294.829,42.869,293.967,39.53z"></path> </g></svg> </span> </a> </div> </div> </div> </nav> </div> </header> <aside class="highlight-top-horizontal"> <style> .top-horizontal-highlights { background: #18181B; font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; position: relative; width: 100%; } .top-horizontal-highlights a::after { content: ''; position: absolute; top: 0; left: 0; height: 100%; width: 100%; } .top-horizontal-highlight { align-items: center; display: flex; flex-wrap: nowrap; padding: 12px 0; } a.top-horizontal-highlight-title, a.top-horizontal-highlight-title:hover { color: #ffff00; font-weight: 600; } .top-horizontal-highlight-data { color: #ffffff; display: none; font-size: 15px; margin-left: 30px; } .truncate-text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .nowrap-text { white-space: nowrap; } .only-visible-on-small-screens { display: inline-block; } @media (min-width: 768px) { .top-horizontal-highlight-data { display: block; margin-left: 30px; } .only-visible-on-small-screens { display: none; } } .dark-theme .top-horizontal-highlights { background: #ffd700; } .dark-theme a.top-horizontal-highlight-title, .dark-theme a.top-horizontal-highlight-title:hover { color: #18181B; } .dark-theme .top-horizontal-highlight-data { color: #18181B; } </style> <div class="top-horizontal-highlights"> <div class="ui-page-container"> <div class="top-horizontal-highlight"> <a class="top-horizontal-highlight-title" href="https://symfony.com/blog/black-friday-2024-offers-from-the-symfony-ecosystem"> <span class="nowrap-text">Black Friday 2024 <span class="only-visible-on-small-screens">discounts</span></span> </a> <span class="top-horizontal-highlight-data truncate-text"> 30% discount on all SymfonyInsight yearly Team plans <strong>(offer ends in 7 days)</strong> </span> </div> </div> </div> </aside> <main id="main-content" class="ui-page-main-content "> <div class="ui-page-container"> <div class="ui-heading"> <h1 id="download-symfony" class="ui-heading-title"> Download Symfony </h1> <p class="ui-heading-subtitle"> </p> </div> <article class="content"> <section> <div class="ui-heading"> <h2 id="step-1-install-symfony-cli" class="ui-heading-title"> <a class="ui-heading-link" title="Permanent link to this headline" href="#step-1-install-symfony-cli"><span class="ui-text-muted">Step 1.</span> Install Symfony CLI</a> </h2> </div> <p> The Symfony CLI is a developer tool to help you build, run, and manage your Symfony applications directly from your terminal. It's Open-Source, works on macOS, Windows, and Linux, and you only have to install it once in your system. <a href="/doc/current/setup/symfony_server.html">Learn more about Symfony CLI</a>. </p> <ul class="nav nav-tabs" role="tablist" aria-label="Operating Systems"> <li class="nav-item" role="presentation" id="tab-client-linux"> <button id="tab-control-client-linux" class="nav-link" data-bs-toggle="tab" data-bs-target="#client-linux" type="button" role="tab" aria-controls="client-linux" aria-selected="false"> <i class="icon"> <svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path fill="currentColor" d="M12.504 0q-.232 0-.48.021c-4.226.333-3.105 4.807-3.17 6.298c-.076 1.092-.3 1.953-1.05 3.02c-.885 1.051-2.127 2.75-2.716 4.521c-.278.832-.41 1.684-.287 2.489a.4.4 0 0 0-.11.135c-.26.268-.45.6-.663.839c-.199.199-.485.267-.797.4c-.313.136-.658.269-.864.68c-.09.189-.136.394-.132.602c0 .199.027.4.055.536c.058.399.116.728.04.97c-.249.68-.28 1.145-.106 1.484c.174.334.535.47.94.601c.81.2 1.91.135 2.774.6c.926.466 1.866.67 2.616.47c.526-.116.97-.464 1.208-.946c.587-.003 1.23-.269 2.26-.334c.699-.058 1.574.267 2.577.2c.025.134.063.198.114.333l.003.003c.391.778 1.113 1.132 1.884 1.071s1.592-.536 2.257-1.306c.631-.765 1.683-1.084 2.378-1.503c.348-.199.629-.469.649-.853c.023-.4-.2-.811-.714-1.376v-.097l-.003-.003c-.17-.2-.25-.535-.338-.926c-.085-.401-.182-.786-.492-1.046h-.003c-.059-.054-.123-.067-.188-.135a.36.36 0 0 0-.19-.064c.431-1.278.264-2.55-.173-3.694c-.533-1.41-1.465-2.638-2.175-3.483c-.796-1.005-1.576-1.957-1.56-3.368c.026-2.152.236-6.133-3.544-6.139m.529 3.405h.013c.213 0 .396.062.584.198c.19.135.33.332.438.533c.105.259.158.459.166.724c0-.02.006-.04.006-.06v.105l-.004-.021l-.004-.024a1.8 1.8 0 0 1-.15.706a.95.95 0 0 1-.213.335a1 1 0 0 0-.088-.042c-.104-.045-.198-.064-.284-.133a1.3 1.3 0 0 0-.22-.066c.05-.06.146-.133.183-.198q.08-.193.088-.402v-.02a1.2 1.2 0 0 0-.061-.4c-.045-.134-.101-.2-.183-.333c-.084-.066-.167-.132-.267-.132h-.016c-.093 0-.176.03-.262.132a.8.8 0 0 0-.205.334a1.2 1.2 0 0 0-.09.4v.019q.002.134.02.267c-.193-.067-.438-.135-.607-.202a2 2 0 0 1-.018-.2v-.02a1.8 1.8 0 0 1 .15-.768a1.08 1.08 0 0 1 .43-.533a1 1 0 0 1 .594-.2zm-2.962.059h.036c.142 0 .27.048.399.135c.146.129.264.288.344.465c.09.199.14.4.153.667v.004c.007.134.006.2-.002.266v.08c-.03.007-.056.018-.083.024c-.152.055-.274.135-.393.2q.018-.136.003-.267v-.015c-.012-.133-.04-.2-.082-.333a.6.6 0 0 0-.166-.267a.25.25 0 0 0-.183-.064h-.021c-.071.006-.13.04-.186.132a.55.55 0 0 0-.12.27a1 1 0 0 0-.023.33v.015c.012.135.037.2.08.334c.046.134.098.2.166.268q.014.014.034.024c-.07.057-.117.07-.176.136a.3.3 0 0 1-.131.068a2.6 2.6 0 0 1-.275-.402a1.8 1.8 0 0 1-.155-.667a1.8 1.8 0 0 1 .08-.668a1.4 1.4 0 0 1 .283-.535c.128-.133.26-.2.418-.2m1.37 1.706c.332 0 .733.065 1.216.399c.293.2.523.269 1.052.468h.003c.255.136.405.266.478.399v-.131a.57.57 0 0 1 .016.47c-.123.31-.516.643-1.063.842v.002c-.268.135-.501.333-.775.465c-.276.135-.588.292-1.012.267a1.1 1.1 0 0 1-.448-.067a4 4 0 0 1-.322-.198c-.195-.135-.363-.332-.612-.465v-.005h-.005c-.4-.246-.616-.512-.686-.71q-.104-.403.193-.6c.224-.135.38-.271.483-.336c.104-.074.143-.102.176-.131h.002v-.003c.169-.202.436-.47.839-.601c.139-.036.294-.065.466-.065zm2.8 2.142c.358 1.417 1.196 3.475 1.735 4.473c.286.534.855 1.659 1.102 3.024c.156-.005.33.018.513.064c.646-1.671-.546-3.467-1.089-3.966c-.22-.2-.232-.335-.123-.335c.59.534 1.365 1.572 1.646 2.757c.13.535.16 1.104.021 1.67c.067.028.135.06.205.067c1.032.534 1.413.938 1.23 1.537v-.043c-.06-.003-.12 0-.18 0h-.016c.151-.467-.182-.825-1.065-1.224c-.915-.4-1.646-.336-1.77.465c-.008.043-.013.066-.018.135c-.068.023-.139.053-.209.064c-.43.268-.662.669-.793 1.187c-.13.533-.17 1.156-.205 1.869v.003c-.02.334-.17.838-.319 1.35c-1.5 1.072-3.58 1.538-5.348.334a2.7 2.7 0 0 0-.402-.533a1.5 1.5 0 0 0-.275-.333c.182 0 .338-.03.465-.067a.62.62 0 0 0 .314-.334c.108-.267 0-.697-.345-1.163s-.931-.995-1.788-1.521c-.63-.4-.986-.87-1.15-1.396c-.165-.534-.143-1.085-.015-1.645c.245-1.07.873-2.11 1.274-2.763c.107-.065.037.135-.408.974c-.396.751-1.14 2.497-.122 3.854a8.1 8.1 0 0 1 .647-2.876c.564-1.278 1.743-3.504 1.836-5.268c.048.036.217.135.289.202c.218.133.38.333.59.465c.21.201.477.335.876.335q.058.005.11.006c.412 0 .73-.134.997-.268c.29-.134.52-.334.74-.4h.005c.467-.135.835-.402 1.044-.7zm2.185 8.958c.037.6.343 1.245.882 1.377c.588.134 1.434-.333 1.791-.765l.211-.01c.315-.007.577.01.847.268l.003.003c.208.199.305.53.391.876c.085.4.154.78.409 1.066c.486.527.645.906.636 1.14l.003-.007v.018l-.003-.012c-.015.262-.185.396-.498.595c-.63.401-1.746.712-2.457 1.57c-.618.737-1.37 1.14-2.036 1.191c-.664.053-1.237-.2-1.574-.898l-.005-.003c-.21-.4-.12-1.025.056-1.69c.176-.668.428-1.344.463-1.897c.037-.714.076-1.335.195-1.814c.12-.465.308-.797.641-.984l.045-.022zm-10.814.049h.01q.08 0 .157.014c.376.055.706.333 1.023.752l.91 1.664l.003.003c.243.533.754 1.064 1.189 1.637c.434.598.77 1.131.729 1.57v.006c-.057.744-.48 1.148-1.125 1.294c-.645.135-1.52.002-2.395-.464c-.968-.536-2.118-.469-2.857-.602q-.553-.1-.723-.4c-.11-.2-.113-.602.123-1.23v-.004l.002-.003c.117-.334.03-.752-.027-1.118c-.055-.401-.083-.71.043-.94c.16-.334.396-.4.69-.533c.294-.135.64-.202.915-.47h.002v-.002c.256-.268.445-.601.668-.838c.19-.201.38-.336.663-.336m7.159-9.074c-.435.201-.945.535-1.488.535c-.542 0-.97-.267-1.28-.466c-.154-.134-.28-.268-.373-.335c-.164-.134-.144-.333-.074-.333c.109.016.129.134.199.2c.096.066.215.2.36.333c.292.2.68.467 1.167.467c.485 0 1.053-.267 1.398-.466c.195-.135.445-.334.648-.467c.156-.136.149-.267.279-.267c.128.016.034.134-.147.332a8 8 0 0 1-.69.468zm-1.082-1.583V5.64c-.006-.02.013-.042.029-.05c.074-.043.18-.027.26.004c.063 0 .16.067.15.135c-.006.049-.085.066-.135.066c-.055 0-.092-.043-.141-.068c-.052-.018-.146-.008-.163-.065m-.551 0c-.02.058-.113.049-.166.066c-.047.025-.086.068-.14.068c-.05 0-.13-.02-.136-.068c-.01-.066.088-.133.15-.133c.08-.031.184-.047.259-.005c.019.009.036.03.03.05v.02h.003z"></path></svg> </i> Linux </button> </li> <li class="nav-item" role="presentation" id="tab-client-macos"> <button id="tab-control-client-macos" class="nav-link" data-bs-toggle="tab" data-bs-target="#client-macos" type="button" role="tab" aria-controls="client-macos" aria-selected="false"> <i class="icon"> <svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" style="position: relative; top: -2px"><path fill="currentColor" d="M12.152 6.896c-.948 0-2.415-1.078-3.96-1.04c-2.04.027-3.91 1.183-4.961 3.014c-2.117 3.675-.546 9.103 1.519 12.09c1.013 1.454 2.208 3.09 3.792 3.039c1.52-.065 2.09-.987 3.935-.987c1.831 0 2.35.987 3.96.948c1.637-.026 2.676-1.48 3.676-2.948c1.156-1.688 1.636-3.325 1.662-3.415c-.039-.013-3.182-1.221-3.22-4.857c-.026-3.04 2.48-4.494 2.597-4.559c-1.429-2.09-3.623-2.324-4.39-2.376c-2-.156-3.675 1.09-4.61 1.09zM15.53 3.83c.843-1.012 1.4-2.427 1.245-3.83c-1.207.052-2.662.805-3.532 1.818c-.78.896-1.454 2.338-1.273 3.714c1.338.104 2.715-.688 3.559-1.701"></path></svg> </i> macOS </button> </li> <li class="nav-item" role="presentation" id="tab-client-windows"> <button id="tab-control-client-windows" class="nav-link" data-bs-toggle="tab" data-bs-target="#client-windows" type="button" role="tab" aria-controls="client-windows" aria-selected="false"> <i class="icon"> <svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path fill="currentColor" d="M0 0h11.377v11.372H0Zm12.623 0H24v11.372H12.623ZM0 12.623h11.377V24H0Zm12.623 0H24V24H12.623"></path></svg> </i> Windows </button> </li> <li class="d-none d-md-inline-flex align-items-center justify-content-end flex-grow-1" role="presentation"> <a role="tab" target="_blank" class="ui-link-muted" href="https://github.com/symfony-cli/symfony-cli">Source Code</a> <a role="tab" target="_blank" class="ui-link-muted ms-4" href="https://github.com/symfony-cli/symfony-cli/releases">Changelog</a> </li> </ul> <div class="tab-content"> <div role="tabpanel" aria-labelledby="tab-control-client-linux" id="client-linux" class="console tab-pane fade"> <p class="mb-3">Choose one of the following installation methods:</p> <p class="mt-4 ui-text-lg fw-bold"> Installer <small>— via <code class="ui-prose-code">wget</code> or <code class="ui-prose-code">curl</code></small> </p> <div translate="no" data-loc="1" class="mt-2 notranslate codeblock codeblock-length-sm codeblock-terminal codeblock-bash command-linux"> <div class="codeblock-scroll align-items-center"> <pre class="codeblock-code"><code class="d-flex align-items-center"><span class="hljs-prompt">$ </span>wget https://get.symfony.com/cli/installer -O - | bash</code></pre> <button type="button" class="ui-button ui-button-copy d-none d-lg-block me-2" data-clipboard-text="wget https://get.symfony.com/cli/installer -O - | bash" aria-label="Copy to clipboard"> <svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M7 9.667A2.667 2.667 0 0 1 9.667 7h8.666A2.667 2.667 0 0 1 21 9.667v8.666A2.667 2.667 0 0 1 18.333 21H9.667A2.667 2.667 0 0 1 7 18.333z"></path><path d="M4.012 16.737A2 2 0 0 1 3 15V5c0-1.1.9-2 2-2h10c.75 0 1.158.385 1.5 1"></path></g></svg> Copy</button> </div> </div> <div translate="no" data-loc="1" class="mt-2 notranslate codeblock codeblock-length-sm codeblock-terminal codeblock-bash command-linux"> <div class="codeblock-scroll align-items-center"> <pre class="codeblock-code"><code class="d-flex align-items-center"><span class="hljs-prompt">$ </span>curl -sS https://get.symfony.com/cli/installer | bash</code></pre> <button type="button" class="ui-button ui-button-copy d-none d-lg-block me-2" data-clipboard-text="curl -sS https://get.symfony.com/cli/installer | bash" aria-label="Copy to clipboard"> <svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M7 9.667A2.667 2.667 0 0 1 9.667 7h8.666A2.667 2.667 0 0 1 21 9.667v8.666A2.667 2.667 0 0 1 18.333 21H9.667A2.667 2.667 0 0 1 7 18.333z"></path><path d="M4.012 16.737A2 2 0 0 1 3 15V5c0-1.1.9-2 2-2h10c.75 0 1.158.385 1.5 1"></path></g></svg> Copy</button> </div> </div> <p class="mt-4 ui-text-lg fw-bold"> Homebrew <small>— <a class="ui-prose-link fw-medium" target="_blank" href="https://brew.sh/">install Homebrew</a></small> </p> <div translate="no" data-loc="1" class="mt-2 notranslate codeblock codeblock-length-sm codeblock-terminal codeblock-bash command-linux"> <div class="codeblock-scroll align-items-center"> <pre class="codeblock-code"><code class="d-flex align-items-center"><span class="hljs-prompt">$ </span>brew install symfony-cli/tap/symfony-cli</code></pre> <button type="button" class="ui-button ui-button-copy d-none d-lg-block me-2" data-clipboard-text="brew install symfony-cli/tap/symfony-cli" aria-label="Copy to clipboard"> <svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M7 9.667A2.667 2.667 0 0 1 9.667 7h8.666A2.667 2.667 0 0 1 21 9.667v8.666A2.667 2.667 0 0 1 18.333 21H9.667A2.667 2.667 0 0 1 7 18.333z"></path><path d="M4.012 16.737A2 2 0 0 1 3 15V5c0-1.1.9-2 2-2h10c.75 0 1.158.385 1.5 1"></path></g></svg> Copy</button> </div> </div> <p class="mt-4 ui-text-lg fw-bold"> Debian/Ubuntu <small>— APT based Linux</small> </p> <div translate="no" data-loc="1" class="mt-2 notranslate codeblock codeblock-length-sm codeblock-terminal codeblock-bash command-linux"> <div class="codeblock-scroll align-items-center"> <pre class="codeblock-code"><code><span class="hljs-prompt">$ </span>curl -1sLf 'https://dl.cloudsmith.io/public/symfony/stable/setup.deb.sh' | sudo -E bash <span class="hljs-prompt">$ </span>sudo apt install symfony-cli</code></pre> </div> </div> <p> Download packages from GitHub: <a class="ui-prose-link fw-medium" target="_blank" href="https://github.com/symfony-cli/symfony-cli/releases/download/v5.10.4/symfony-cli_5.10.4_amd64.deb">amd64</a>, <a class="ui-prose-link fw-medium" target="_blank" href="https://github.com/symfony-cli/symfony-cli/releases/download/v5.10.4/symfony-cli_5.10.4_arm64.deb">arm64</a>, <a class="ui-prose-link fw-medium" target="_blank" href="https://github.com/symfony-cli/symfony-cli/releases/download/v5.10.4/symfony-cli_5.10.4_armhf.deb">armhf</a>, <a class="ui-prose-link fw-medium" target="_blank" href="https://github.com/symfony-cli/symfony-cli/releases/download/v5.10.4/symfony-cli_5.10.4_i386.deb">i386</a>. </p> <p class="mt-4 ui-text-lg fw-bold"> Fedora/CentOS/SUSE/RedHat <small>— YUM based Linux</small> </p> <p class="mb-0">Use <code>yum</code> instead of <code>dnf</code> on older versions.</p> <div translate="no" data-loc="1" class="mt-2 notranslate codeblock codeblock-length-sm codeblock-terminal codeblock-bash command-linux"> <div class="codeblock-scroll align-items-center"> <pre class="codeblock-code"><code><span class="hljs-prompt">$ </span>curl -1sLf 'https://dl.cloudsmith.io/public/symfony/stable/setup.rpm.sh' | sudo -E bash <span class="hljs-prompt">$ </span>sudo dnf install symfony-cli</code></pre> </div> </div> <p> Download packages from GitHub: <a class="ui-prose-link fw-medium" target="_blank" href="https://github.com/symfony-cli/symfony-cli/releases/download/v5.10.4/symfony-cli-5.10.4-1.aarch64.rpm">aarch64</a>, <a class="ui-prose-link fw-medium" target="_blank" href="https://github.com/symfony-cli/symfony-cli/releases/download/v5.10.4/symfony-cli-5.10.4-1.armv6hl.rpm">armv6hl</a>, <a class="ui-prose-link fw-medium" target="_blank" href="https://github.com/symfony-cli/symfony-cli/releases/download/v5.10.4/symfony-cli-5.10.4-1.i386.rpm">i386</a>, <a class="ui-prose-link fw-medium" target="_blank" href="https://github.com/symfony-cli/symfony-cli/releases/download/v5.10.4/symfony-cli-5.10.4-1.x86_64.rpm">x86_64</a>. </p> <p class="mt-4 ui-text-lg fw-bold"> Alpine <small>— APK based Linux</small> </p> <div translate="no" data-loc="1" class="mt-2 notranslate codeblock codeblock-length-sm codeblock-terminal codeblock-bash command-linux"> <div class="codeblock-scroll align-items-center"> <pre class="codeblock-code"><code><span class="hljs-prompt">$ </span>sudo apk add --no-cache bash <span class="hljs-prompt">$ </span>curl -1sLf 'https://dl.cloudsmith.io/public/symfony/stable/setup.alpine.sh' | sudo -E bash <span class="hljs-prompt">$ </span>sudo apk add symfony-cli</code></pre> </div> </div> <p> Download packages from GitHub: <a class="ui-prose-link fw-medium" target="_blank" href="https://github.com/symfony-cli/symfony-cli/releases/download/v5.10.4/symfony-cli_5.10.4_aarch64.apk">aarch64</a>, <a class="ui-prose-link fw-medium" target="_blank" href="https://github.com/symfony-cli/symfony-cli/releases/download/v5.10.4/symfony-cli_5.10.4_armhf.apk">armhf</a>, <a class="ui-prose-link fw-medium" target="_blank" href="https://github.com/symfony-cli/symfony-cli/releases/download/v5.10.4/symfony-cli_5.10.4_x86.apk">x86</a>, <a class="ui-prose-link fw-medium" target="_blank" href="https://github.com/symfony-cli/symfony-cli/releases/download/v5.10.4/symfony-cli_5.10.4_x86_64.apk">x86_64</a>. </p> <p class="mt-4 ui-text-lg fw-bold">Binaries</p> <p> Download binaries from GitHub: <a class="ui-prose-link fw-medium" target="_blank" href="https://github.com/symfony-cli/symfony-cli/releases/download/v5.10.4/symfony-cli_linux_386.tar.gz">386</a>, <a class="ui-prose-link fw-medium" target="_blank" href="https://github.com/symfony-cli/symfony-cli/releases/download/v5.10.4/symfony-cli_linux_amd64.tar.gz">amd64</a>, <a class="ui-prose-link fw-medium" target="_blank" href="https://github.com/symfony-cli/symfony-cli/releases/download/v5.10.4/symfony-cli_linux_arm64.tar.gz">arm64</a>, <a class="ui-prose-link fw-medium" target="_blank" href="https://github.com/symfony-cli/symfony-cli/releases/download/v5.10.4/symfony-cli_linux_armv6.tar.gz">armv6</a>. </p> <p class="mt-4 fw-bold"> Packages provided by <a href="https://cloudsmith.com/"><img style="width: 120px; vertical-align: top; margin-bottom: 0" alt="Cloudsmith" src="/images/download/cloudsmith.svg"></a> </p> <p> Package repository hosting is graciously provided by <a href="https://cloudsmith.com">Cloudsmith</a>. Cloudsmith is the only fully hosted, cloud-native, universal package management solution, that enables your organization to create, store and share packages in any format, to any place, with total confidence. </p> </div> <div role="tabpanel" aria-labelledby="tab-control-client-macos" id="client-macos" class="console tab-pane fade"> <p class="mb-3">Choose one of the following installation methods:</p> <p class="ui-text-lg fw-bold">Installer <small>— via <code class="ui-prose-code">wget</code> or <code class="ui-prose-code">curl</code></small></p> <div translate="no" data-loc="1" class="mt-2 notranslate codeblock codeblock-length-sm codeblock-terminal codeblock-bash command-macos"> <div class="codeblock-scroll align-items-center"> <pre class="codeblock-code"><code class="d-flex align-items-center"><span class="hljs-prompt">$ </span>wget https://get.symfony.com/cli/installer -O - | bash</code></pre> <button type="button" class="ui-button ui-button-copy d-none d-lg-block me-2" data-clipboard-text="wget https://get.symfony.com/cli/installer -O - | bash" aria-label="Copy to clipboard"> <svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M7 9.667A2.667 2.667 0 0 1 9.667 7h8.666A2.667 2.667 0 0 1 21 9.667v8.666A2.667 2.667 0 0 1 18.333 21H9.667A2.667 2.667 0 0 1 7 18.333z"></path><path d="M4.012 16.737A2 2 0 0 1 3 15V5c0-1.1.9-2 2-2h10c.75 0 1.158.385 1.5 1"></path></g></svg> Copy</button> </div> </div> <div translate="no" data-loc="1" class="mt-2 notranslate codeblock codeblock-length-sm codeblock-terminal codeblock-bash command-macos"> <div class="codeblock-scroll align-items-center"> <pre class="codeblock-code"><code class="d-flex align-items-center"><span class="hljs-prompt">$ </span>curl -sS https://get.symfony.com/cli/installer | bash</code></pre> <button type="button" class="ui-button ui-button-copy d-none d-lg-block me-2" data-clipboard-text="curl -sS https://get.symfony.com/cli/installer | bash" aria-label="Copy to clipboard"> <svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M7 9.667A2.667 2.667 0 0 1 9.667 7h8.666A2.667 2.667 0 0 1 21 9.667v8.666A2.667 2.667 0 0 1 18.333 21H9.667A2.667 2.667 0 0 1 7 18.333z"></path><path d="M4.012 16.737A2 2 0 0 1 3 15V5c0-1.1.9-2 2-2h10c.75 0 1.158.385 1.5 1"></path></g></svg> Copy</button> </div> </div> <p class="mt-4 ui-text-lg fw-bold"> Homebrew <small>— <a class="ui-prose-link fw-medium" target="_blank" href="https://brew.sh/">install Homebrew</a></small> </p> <div translate="no" data-loc="1" class="mt-2 notranslate codeblock codeblock-length-sm codeblock-terminal codeblock-bash command-macos"> <div class="codeblock-scroll align-items-center"> <pre class="codeblock-code"><code class="d-flex align-items-center"><span class="hljs-prompt">$ </span>brew install symfony-cli/tap/symfony-cli</code></pre> <button type="button" class="ui-button ui-button-copy d-none d-lg-block me-2" data-clipboard-text="brew install symfony-cli/tap/symfony-cli" aria-label="Copy to clipboard"> <svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M7 9.667A2.667 2.667 0 0 1 9.667 7h8.666A2.667 2.667 0 0 1 21 9.667v8.666A2.667 2.667 0 0 1 18.333 21H9.667A2.667 2.667 0 0 1 7 18.333z"></path><path d="M4.012 16.737A2 2 0 0 1 3 15V5c0-1.1.9-2 2-2h10c.75 0 1.158.385 1.5 1"></path></g></svg> Copy</button> </div> </div> <p class="mt-4 ui-text-lg fw-bold">Binaries</p> <p> <a class="ui-prose-link fw-medium" target="_blank" href="https://github.com/symfony-cli/symfony-cli/releases/download/v5.10.4/symfony-cli_darwin_all.tar.gz">Download binaries</a> from GitHub. </p> </div> <div role="tabpanel" aria-labelledby="tab-control-client-windows" id="client-windows" class="console tab-pane fade"> <p class="mb-3">Choose one of the following installation methods:</p> <p class="mt-4 ui-text-lg fw-bold"> Scoop <small>— <a class="ui-prose-link fw-medium" target="_blank" href="https://scoop.sh/">install Scoop</a></small> </p> <div translate="no" data-loc="1" class="mt-2 notranslate codeblock codeblock-length-sm codeblock-terminal codeblock-bash command-windows"> <div class="codeblock-scroll align-items-center"> <pre class="codeblock-code"><code class="d-flex align-items-center"><span class="hljs-prompt">$ </span>scoop install symfony-cli</code></pre> <button type="button" class="ui-button ui-button-copy d-none d-lg-block me-2" data-clipboard-text="scoop install symfony-cli" aria-label="Copy to clipboard"> <svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M7 9.667A2.667 2.667 0 0 1 9.667 7h8.666A2.667 2.667 0 0 1 21 9.667v8.666A2.667 2.667 0 0 1 18.333 21H9.667A2.667 2.667 0 0 1 7 18.333z"></path><path d="M4.012 16.737A2 2 0 0 1 3 15V5c0-1.1.9-2 2-2h10c.75 0 1.158.385 1.5 1"></path></g></svg> Copy</button> </div> </div> <p class="mt-4 ui-text-lg fw-bold">Binaries</p> <p> Download binaries from GitHub: <a class="ui-prose-link fw-medium" target="_blank" href="https://github.com/symfony-cli/symfony-cli/releases/download/v5.10.4/symfony-cli_windows_386.zip">386</a>, <a class="ui-prose-link fw-medium" target="_blank" href="https://github.com/symfony-cli/symfony-cli/releases/download/v5.10.4/symfony-cli_windows_amd64.zip">amd64</a>. </p> </div> </div> </section> <section> <div class="ui-prose"> <div class="ui-heading"> <h2 id="step-2-create-new-symfony-applications" class="ui-heading-title"> <a class="ui-heading-link" title="Permanent link to this headline" href="#step-2-create-new-symfony-applications"><span class="ui-text-muted">Step 2.</span> Create New Symfony Applications</a> </h2> </div> <p> Use the <code>symfony</code> binary provided by the Symfony CLI to create new applications: </p> <p class="mb-0">If you are building a <strong>traditional web application</strong>:</p> </div> <div translate="no" data-loc="1" class="mt-2 notranslate codeblock codeblock-length-sm codeblock-terminal codeblock-bash "> <div class="codeblock-scroll align-items-center"> <pre class="codeblock-code"><code class="d-flex align-items-center"><span class="hljs-prompt">$ </span>symfony new --webapp my_project</code></pre> <button type="button" class="ui-button ui-button-copy d-none d-lg-block me-2" data-clipboard-text="symfony new --webapp my_project" aria-label="Copy to clipboard"> <svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M7 9.667A2.667 2.667 0 0 1 9.667 7h8.666A2.667 2.667 0 0 1 21 9.667v8.666A2.667 2.667 0 0 1 18.333 21H9.667A2.667 2.667 0 0 1 7 18.333z"></path><path d="M4.012 16.737A2 2 0 0 1 3 15V5c0-1.1.9-2 2-2h10c.75 0 1.158.385 1.5 1"></path></g></svg> Copy</button> </div> </div> <div class="ui-prose"> <p class="mt-4 mb-0">If you are building a <strong>microservice</strong>, <strong>console application</strong> or <strong>API</strong>:</p> </div> <div translate="no" data-loc="1" class="mt-2 notranslate codeblock codeblock-length-sm codeblock-terminal codeblock-bash "> <div class="codeblock-scroll align-items-center"> <pre class="codeblock-code"><code class="d-flex align-items-center"><span class="hljs-prompt">$ </span>symfony new my_project</code></pre> <button type="button" class="ui-button ui-button-copy d-none d-lg-block me-2" data-clipboard-text="symfony new my_project" aria-label="Copy to clipboard"> <svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M7 9.667A2.667 2.667 0 0 1 9.667 7h8.666A2.667 2.667 0 0 1 21 9.667v8.666A2.667 2.667 0 0 1 18.333 21H9.667A2.667 2.667 0 0 1 7 18.333z"></path><path d="M4.012 16.737A2 2 0 0 1 3 15V5c0-1.1.9-2 2-2h10c.75 0 1.158.385 1.5 1"></path></g></svg> Copy</button> </div> </div> <div class="ui-prose"> <p class="mt-4"> You can also read Symfony Docs to learn about <a href="/doc/current/setup.html">installing Symfony with Composer</a>. </p> </div> </section> <section> <hr> <div class="ui-prose"> <div class="ui-heading mt-5"> <h3 id="install-symfony-components" class="ui-heading-title"> <a class="ui-heading-link" title="Permanent link to this headline" href="#install-symfony-components">Install Symfony Components</a> </h3> </div> <p> You can also enjoy Symfony features without creating new applications. <a href="/components">Symfony Components</a>, a set of decoupled and reusable libraries, work on any existing PHP application. </p> <p> <a href="/doc/current/cookbook/composer.html">Install Composer</a> and run this command to add a Symfony component in your app: </p> </div> <div translate="no" data-loc="1" class="mt-2 notranslate codeblock codeblock-length-sm codeblock-terminal codeblock-bash symfony-component-install-command"> <div class="codeblock-scroll align-items-center"> <pre class="codeblock-code"><code class="d-flex align-items-center"><span class="hljs-prompt">$ </span><span>composer require</span> <select id="symfony_component_name" class="form-select ui-form-select-dark ui-text-sm mx-2" autocomplete="off" aria-label="Component Name"> <optgroup label="Symfony Components"> <option value="symfony/amphp-http-client-meta">symfony/amphp-http-client-meta</option> <option value="symfony/asset">symfony/asset</option> <option value="symfony/asset-mapper">symfony/asset-mapper</option> <option value="symfony/browser-kit">symfony/browser-kit</option> <option value="symfony/cache">symfony/cache</option> <option value="symfony/clock">symfony/clock</option> <option value="symfony/config">symfony/config</option> <option value="symfony/console">symfony/console</option> <option value="symfony/contracts">symfony/contracts</option> <option value="symfony/css-selector">symfony/css-selector</option> <option value="symfony/dependency-injection">symfony/dependency-injection</option> <option value="symfony/doctrine-bridge">symfony/doctrine-bridge</option> <option value="symfony/dom-crawler">symfony/dom-crawler</option> <option value="symfony/dotenv">symfony/dotenv</option> <option value="symfony/emoji">symfony/emoji</option> <option value="symfony/error-handler">symfony/error-handler</option> <option value="symfony/event-dispatcher">symfony/event-dispatcher</option> <option value="symfony/expression-language">symfony/expression-language</option> <option value="symfony/filesystem">symfony/filesystem</option> <option value="symfony/finder">symfony/finder</option> <option value="symfony/form">symfony/form</option> <option value="symfony/security-guard">symfony/security-guard</option> <option value="symfony/html-sanitizer">symfony/html-sanitizer</option> <option value="symfony/http-client">symfony/http-client</option> <option value="symfony/http-foundation">symfony/http-foundation</option> <option value="symfony/http-kernel">symfony/http-kernel</option> <option value="symfony/intl">symfony/intl</option> <option value="symfony/ldap">symfony/ldap</option> <option value="symfony/lock">symfony/lock</option> <option value="symfony/mailer">symfony/mailer</option> <option value="symfony/mercure">symfony/mercure</option> <option value="symfony/messenger">symfony/messenger</option> <option value="symfony/mime">symfony/mime</option> <option value="symfony/monolog-bridge">symfony/monolog-bridge</option> <option value="symfony/notifier">symfony/notifier</option> <option value="symfony/options-resolver">symfony/options-resolver</option> <option value="symfony/phpunit-bridge">symfony/phpunit-bridge</option> <option value="symfony/panther">symfony/panther</option> <option value="symfony/password-hasher">symfony/password-hasher</option> <option value="symfony/process">symfony/process</option> <option value="symfony/property-access">symfony/property-access</option> <option value="symfony/property-info">symfony/property-info</option> <option value="symfony/psr-http-message-bridge">symfony/psr-http-message-bridge</option> <option value="symfony/rate-limiter">symfony/rate-limiter</option> <option value="symfony/remote-event">symfony/remote-event</option> <option value="symfony/routing">symfony/routing</option> <option value="symfony/runtime">symfony/runtime</option> <option value="symfony/scheduler">symfony/scheduler</option> <option value="symfony/security-core">symfony/security-core</option> <option value="symfony/security-csrf">symfony/security-csrf</option> <option value="symfony/semaphore">symfony/semaphore</option> <option value="symfony/serializer">symfony/serializer</option> <option value="symfony/stopwatch">symfony/stopwatch</option> <option value="symfony/string">symfony/string</option> <option value="symfony/flex">symfony/flex</option> <option value="symfony/translation">symfony/translation</option> <option value="symfony/twig-bridge">symfony/twig-bridge</option> <option value="symfony/type-info">symfony/type-info</option> <option value="symfony/uid">symfony/uid</option> <option value="symfony/validator">symfony/validator</option> <option value="symfony/var-dumper">symfony/var-dumper</option> <option value="symfony/var-exporter">symfony/var-exporter</option> <option value="symfony/web-link">symfony/web-link</option> <option value="symfony/webhook">symfony/webhook</option> <option value="symfony/workflow">symfony/workflow</option> <option value="symfony/yaml">symfony/yaml</option> </optgroup> <optgroup label="Third-party SaaS Bridges"> <option value="symfony/forty-six-elks-notifier">symfony/forty-six-elks-notifier</option> <option value="symfony/amqp-messenger">symfony/amqp-messenger</option> <option value="symfony/all-my-sms-notifier">symfony/all-my-sms-notifier</option> <option value="symfony/amazon-sns-notifier">symfony/amazon-sns-notifier</option> <option value="symfony/amazon-mailer">symfony/amazon-mailer</option> <option value="symfony/amazon-sqs-messenger">symfony/amazon-sqs-messenger</option> <option value="symfony/azure-mailer">symfony/azure-mailer</option> <option value="symfony/bandwidth-notifier">symfony/bandwidth-notifier</option> <option value="symfony/beanstalkd-messenger">symfony/beanstalkd-messenger</option> <option value="symfony/bluesky-notifier">symfony/bluesky-notifier</option> <option value="symfony/brevo-mailer">symfony/brevo-mailer</option> <option value="symfony/brevo-notifier">symfony/brevo-notifier</option> <option value="symfony/chatwork-notifier">symfony/chatwork-notifier</option> <option value="symfony/click-send-notifier">symfony/click-send-notifier</option> <option value="symfony/clickatell-notifier">symfony/clickatell-notifier</option> <option value="symfony/contact-everyone-notifier">symfony/contact-everyone-notifier</option> <option value="symfony/crowdin-translation-provider">symfony/crowdin-translation-provider</option> <option value="symfony/discord-notifier">symfony/discord-notifier</option> <option value="symfony/doctrine-messenger">symfony/doctrine-messenger</option> <option value="symfony/engagespot-notifier">symfony/engagespot-notifier</option> <option value="symfony/esendex-notifier">symfony/esendex-notifier</option> <option value="symfony/expo-notifier">symfony/expo-notifier</option> <option value="symfony/fake-chat-notifier">symfony/fake-chat-notifier</option> <option value="symfony/fake-sms-notifier">symfony/fake-sms-notifier</option> <option value="symfony/firebase-notifier">symfony/firebase-notifier</option> <option value="symfony/free-mobile-notifier">symfony/free-mobile-notifier</option> <option value="symfony/gateway-api-notifier">symfony/gateway-api-notifier</option> <option value="symfony/go-ip-notifier">symfony/go-ip-notifier</option> <option value="symfony/google-chat-notifier">symfony/google-chat-notifier</option> <option value="symfony/google-mailer">symfony/google-mailer</option> <option value="symfony/infobip-notifier">symfony/infobip-notifier</option> <option value="symfony/infobip-mailer">symfony/infobip-mailer</option> <option value="symfony/iqsms-notifier">symfony/iqsms-notifier</option> <option value="symfony/isendpro-notifier">symfony/isendpro-notifier</option> <option value="symfony/joli-notif-notifier">symfony/joli-notif-notifier</option> <option value="symfony/kaz-info-teh-notifier">symfony/kaz-info-teh-notifier</option> <option value="symfony/light-sms-notifier">symfony/light-sms-notifier</option> <option value="symfony/line-bot-notifier">symfony/line-bot-notifier</option> <option value="symfony/line-notify-notifier">symfony/line-notify-notifier</option> <option value="symfony/linked-in-notifier">symfony/linked-in-notifier</option> <option value="symfony/loco-translation-provider">symfony/loco-translation-provider</option> <option value="symfony/lokalise-translation-provider">symfony/lokalise-translation-provider</option> <option value="symfony/lox24-notifier">symfony/lox24-notifier</option> <option value="symfony/mail-pace-mailer">symfony/mail-pace-mailer</option> <option value="symfony/mailchimp-mailer">symfony/mailchimp-mailer</option> <option value="symfony/mailer-send-mailer">symfony/mailer-send-mailer</option> <option value="symfony/mailgun-mailer">symfony/mailgun-mailer</option> <option value="symfony/mailjet-mailer">symfony/mailjet-mailer</option> <option value="symfony/mailjet-notifier">symfony/mailjet-notifier</option> <option value="symfony/mailomat-mailer">symfony/mailomat-mailer</option> <option value="symfony/mailtrap-mailer">symfony/mailtrap-mailer</option> <option value="symfony/mastodon-notifier">symfony/mastodon-notifier</option> <option value="symfony/mattermost-notifier">symfony/mattermost-notifier</option> <option value="symfony/mercure-notifier">symfony/mercure-notifier</option> <option value="symfony/message-bird-notifier">symfony/message-bird-notifier</option> <option value="symfony/message-media-notifier">symfony/message-media-notifier</option> <option value="symfony/microsoft-teams-notifier">symfony/microsoft-teams-notifier</option> <option value="symfony/mobyt-notifier">symfony/mobyt-notifier</option> <option value="symfony/novu-notifier">symfony/novu-notifier</option> <option value="symfony/ntfy-notifier">symfony/ntfy-notifier</option> <option value="symfony/octopush-notifier">symfony/octopush-notifier</option> <option value="symfony/one-signal-notifier">symfony/one-signal-notifier</option> <option value="symfony/orange-sms-notifier">symfony/orange-sms-notifier</option> <option value="symfony/ovh-cloud-notifier">symfony/ovh-cloud-notifier</option> <option value="symfony/pager-duty-notifier">symfony/pager-duty-notifier</option> <option value="symfony/phrase-translation-provider">symfony/phrase-translation-provider</option> <option value="symfony/plivo-notifier">symfony/plivo-notifier</option> <option value="symfony/postal-mailer">symfony/postal-mailer</option> <option value="symfony/postmark-mailer">symfony/postmark-mailer</option> <option value="symfony/primotexto-notifier">symfony/primotexto-notifier</option> <option value="symfony/pushover-notifier">symfony/pushover-notifier</option> <option value="symfony/pushy-notifier">symfony/pushy-notifier</option> <option value="symfony/redis-messenger">symfony/redis-messenger</option> <option value="symfony/redlink-notifier">symfony/redlink-notifier</option> <option value="symfony/resend-mailer">symfony/resend-mailer</option> <option value="symfony/ring-central-notifier">symfony/ring-central-notifier</option> <option value="symfony/rocket-chat-notifier">symfony/rocket-chat-notifier</option> <option value="symfony/smsapi-notifier">symfony/smsapi-notifier</option> <option value="symfony/smsc-notifier">symfony/smsc-notifier</option> <option value="symfony/scaleway-mailer">symfony/scaleway-mailer</option> <option value="symfony/sendberry-notifier">symfony/sendberry-notifier</option> <option value="symfony/sendgrid-mailer">symfony/sendgrid-mailer</option> <option value="symfony/sendinblue-mailer">symfony/sendinblue-mailer</option> <option value="symfony/sendinblue-notifier">symfony/sendinblue-notifier</option> <option value="symfony/sevenio-notifier">symfony/sevenio-notifier</option> <option value="symfony/simple-textin-notifier">symfony/simple-textin-notifier</option> <option value="symfony/sinch-notifier">symfony/sinch-notifier</option> <option value="symfony/sipgate-notifier">symfony/sipgate-notifier</option> <option value="symfony/slack-notifier">symfony/slack-notifier</option> <option value="symfony/sms-biuras-notifier">symfony/sms-biuras-notifier</option> <option value="symfony/sms-factor-notifier">symfony/sms-factor-notifier</option> <option value="symfony/sms-sluzba-notifier">symfony/sms-sluzba-notifier</option> <option value="symfony/smsbox-notifier">symfony/smsbox-notifier</option> <option value="symfony/smsense-notifier">symfony/smsense-notifier</option> <option value="symfony/smsmode-notifier">symfony/smsmode-notifier</option> <option value="symfony/spot-hit-notifier">symfony/spot-hit-notifier</option> <option value="symfony/sweego-mailer">symfony/sweego-mailer</option> <option value="symfony/sweego-notifier">symfony/sweego-notifier</option> <option value="symfony/telegram-notifier">symfony/telegram-notifier</option> <option value="symfony/telnyx-notifier">symfony/telnyx-notifier</option> <option value="symfony/termii-notifier">symfony/termii-notifier</option> <option value="symfony/turbo-sms-notifier">symfony/turbo-sms-notifier</option> <option value="symfony/twilio-notifier">symfony/twilio-notifier</option> <option value="symfony/twitter-notifier">symfony/twitter-notifier</option> <option value="symfony/unifonic-notifier">symfony/unifonic-notifier</option> <option value="symfony/vonage-notifier">symfony/vonage-notifier</option> <option value="symfony/yunpian-notifier">symfony/yunpian-notifier</option> <option value="symfony/zendesk-notifier">symfony/zendesk-notifier</option> <option value="symfony/zulip-notifier">symfony/zulip-notifier</option> <option value="symfony/sms77-notifier">symfony/sms77-notifier</option> </optgroup> <optgroup label="Polyfills"> <option value="symfony/polyfill-apcu">symfony/polyfill-apcu</option> <option value="symfony/polyfill-ctype">symfony/polyfill-ctype</option> <option value="symfony/polyfill-iconv">symfony/polyfill-iconv</option> <option value="symfony/polyfill-intl-grapheme">symfony/polyfill-intl-grapheme</option> <option value="symfony/polyfill-intl-icu">symfony/polyfill-intl-icu</option> <option value="symfony/polyfill-intl-idn">symfony/polyfill-intl-idn</option> <option value="symfony/polyfill-intl-messageformatter">symfony/polyfill-intl-messageformatter</option> <option value="symfony/polyfill-intl-normalizer">symfony/polyfill-intl-normalizer</option> <option value="symfony/polyfill-mbstring">symfony/polyfill-mbstring</option> <option value="symfony/polyfill-php54">symfony/polyfill-php54</option> <option value="symfony/polyfill-php55">symfony/polyfill-php55</option> <option value="symfony/polyfill-php56">symfony/polyfill-php56</option> <option value="symfony/polyfill-php70">symfony/polyfill-php70</option> <option value="symfony/polyfill-php71">symfony/polyfill-php71</option> <option value="symfony/polyfill-php72">symfony/polyfill-php72</option> <option value="symfony/polyfill-php73">symfony/polyfill-php73</option> <option value="symfony/polyfill-php74">symfony/polyfill-php74</option> <option value="symfony/polyfill-php80">symfony/polyfill-php80</option> <option value="symfony/polyfill-php81">symfony/polyfill-php81</option> <option value="symfony/polyfill-php82">symfony/polyfill-php82</option> <option value="symfony/polyfill-php83">symfony/polyfill-php83</option> <option value="symfony/polyfill-uuid">symfony/polyfill-uuid</option> <option value="symfony/polyfill-util">symfony/polyfill-util</option> <option value="symfony/polyfill-php84">symfony/polyfill-php84</option> </optgroup> <optgroup label="Symfony Flex Packs"> <option value="symfony/amqp-pack">symfony/amqp-pack</option> <option value="symfony/apache-pack">symfony/apache-pack</option> <option value="symfony/debug-pack">symfony/debug-pack</option> <option value="symfony/orm-pack">symfony/orm-pack</option> <option value="symfony/profiler-pack">symfony/profiler-pack</option> <option value="symfony/serializer-pack">symfony/serializer-pack</option> <option value="symfony/test-pack">symfony/test-pack</option> <option value="symfony/twig-pack">symfony/twig-pack</option> </optgroup> <optgroup label="Symfony Bundles"> <option value="symfony/debug-bundle">symfony/debug-bundle</option> <option value="symfony/framework-bundle">symfony/framework-bundle</option> <option value="symfony/maker-bundle">symfony/maker-bundle</option> <option value="symfony/mercure-bundle">symfony/mercure-bundle</option> <option value="symfony/monolog-bundle">symfony/monolog-bundle</option> <option value="symfony/security-bundle">symfony/security-bundle</option> <option value="symfony/stimulus-bundle">symfony/stimulus-bundle</option> <option value="symfony/twig-bundle">symfony/twig-bundle</option> <option value="symfony/web-profiler-bundle">symfony/web-profiler-bundle</option> <option value="symfony/webpack-encore-bundle">symfony/webpack-encore-bundle</option> </optgroup> <optgroup label="Symfony Contracts"> <option value="symfony/cache-contracts">symfony/cache-contracts</option> <option value="symfony/deprecation-contracts">symfony/deprecation-contracts</option> <option value="symfony/event-dispatcher-contracts">symfony/event-dispatcher-contracts</option> <option value="symfony/http-client-contracts">symfony/http-client-contracts</option> <option value="symfony/service-contracts">symfony/service-contracts</option> <option value="symfony/translation-contracts">symfony/translation-contracts</option> </optgroup> <optgroup label="Symfony UX"> <option value="symfony/ux-autocomplete">symfony/ux-autocomplete</option> <option value="symfony/ux-chartjs">symfony/ux-chartjs</option> <option value="symfony/ux-cropperjs">symfony/ux-cropperjs</option> <option value="symfony/ux-dropzone">symfony/ux-dropzone</option> <option value="symfony/ux-lazy-image">symfony/ux-lazy-image</option> <option value="symfony/ux-live-component">symfony/ux-live-component</option> <option value="symfony/ux-notify">symfony/ux-notify</option> <option value="symfony/ux-react">symfony/ux-react</option> <option value="symfony/ux-swup">symfony/ux-swup</option> <option value="symfony/ux-turbo">symfony/ux-turbo</option> <option value="symfony/ux-twig-component">symfony/ux-twig-component</option> <option value="symfony/ux-typed">symfony/ux-typed</option> <option value="symfony/ux-vue">symfony/ux-vue</option> <option value="symfony/ux-google-map">symfony/ux-google-map</option> <option value="symfony/ux-icons">symfony/ux-icons</option> <option value="symfony/ux-leaflet-map">symfony/ux-leaflet-map</option> <option value="symfony/ux-map">symfony/ux-map</option> <option value="symfony/ux-svelte">symfony/ux-svelte</option> <option value="symfony/ux-toggle-password">symfony/ux-toggle-password</option> <option value="symfony/ux-translator">symfony/ux-translator</option> </optgroup> </select> </code></pre> <button type="button" class="ui-button ui-button-copy d-none d-lg-block me-2" data-clipboard-text="command require symfony/console" aria-label="Copy to clipboard"> <svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M7 9.667A2.667 2.667 0 0 1 9.667 7h8.666A2.667 2.667 0 0 1 21 9.667v8.666A2.667 2.667 0 0 1 18.333 21H9.667A2.667 2.667 0 0 1 7 18.333z"></path><path d="M4.012 16.737A2 2 0 0 1 3 15V5c0-1.1.9-2 2-2h10c.75 0 1.158.385 1.5 1"></path></g></svg> Copy</button> </div> </div> </section> <section> <div class="ui-prose"> <div class="ui-heading"> <h3 id="additional-resources" class="ui-heading-title"> <a class="ui-heading-link" title="Permanent link to this headline" href="#additional-resources">Additional Resources</a> </h3> </div> <div class="download-symfony-resources"> <div class="d-flex align-items-center mb-3 p-3 w-75"> <svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" font-size="36px" class="flex-shrink-0 ui-text-muted me-4"><path fill="currentColor" d="M12 .297c-6.63 0-12 5.373-12 12c0 5.303 3.438 9.8 8.205 11.385c.6.113.82-.258.82-.577c0-.285-.01-1.04-.015-2.04c-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729c1.205.084 1.838 1.236 1.838 1.236c1.07 1.835 2.809 1.305 3.495.998c.108-.776.417-1.305.76-1.605c-2.665-.3-5.466-1.332-5.466-5.93c0-1.31.465-2.38 1.235-3.22c-.135-.303-.54-1.523.105-3.176c0 0 1.005-.322 3.3 1.23c.96-.267 1.98-.399 3-.405c1.02.006 2.04.138 3 .405c2.28-1.552 3.285-1.23 3.285-1.23c.645 1.653.24 2.873.12 3.176c.765.84 1.23 1.91 1.23 3.22c0 4.61-2.805 5.625-5.475 5.92c.42.36.81 1.096.81 2.22c0 1.606-.015 2.896-.015 3.286c0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"></path></svg> <div> <a target="_blank" href="https://github.com/symfony/symfony">Symfony Source Code</a> is hosted on GitHub and released under <a class="internal" href="/doc/current/contributing/code/license.html">MIT license</a>, which is friendly for developers and safe for companies. </div> </div> <div class="d-flex align-items-center mb-3 p-3 w-75"> <svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" font-size="36px" class="flex-shrink-0 ui-text-muted me-4"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 5a2 2 0 1 1 4 0a7 7 0 0 1 4 6v3a4 4 0 0 0 2 3H4a4 4 0 0 0 2-3v-3a7 7 0 0 1 4-6M9 17v1a3 3 0 0 0 6 0v-1"></path></svg> <div> <a class="internal" href="/account/notifications">Subscribe now</a> to receive an email when a new Symfony version is published or when a Symfony version reaches its end of life. </div> </div> <div class="d-flex align-items-center mb-3 p-3 w-75"> <svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" font-size="36px" class="flex-shrink-0 ui-text-muted me-4"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 16.008V7.99a1.98 1.98 0 0 0-1-1.717l-7-4.008a2.02 2.02 0 0 0-2 0L4 6.273c-.619.355-1 1.01-1 1.718v8.018c0 .709.381 1.363 1 1.717l7 4.008a2.02 2.02 0 0 0 2 0l7-4.008c.619-.355 1-1.01 1-1.718M12 22V12m0 0l8.73-5.04m-17.46 0L12 12"></path></svg> <div> <a target="_blank" href="https://github.com/symfony/demo">Symfony Demo</a>: a reference application to learn how to develop applications following the <a class="internal" href="/doc/current/best_practices.html">Symfony Best Practices</a>. </div> </div> </div> </div> </section> </article> </div> </main> <footer> <h2 class="visually-hidden">Symfony footer</h2> <div class="footer-content"> <section class="footer-top-wrapper"> <div class="ui-page-container "> <div class="footer-top"> <div class="symfony-contributor"> <div class="d-flex align-items-start px-4 py-3 ui-contributor ui-contributor-horizontal"> <img loading="lazy" width="48" height="48" alt="Avatar of Leo, a Symfony contributor" src="https://www.gravatar.com/avatar/20eb657cc4739085f1e9dbb62700c2d4?size=48&rating=g&default=retro" onerror="this.onerror=null; this.src='data:image/svg+xml;utf8,\ <svg xmlns=\'http://www.w3.org/2000/svg\' width=\'100%\' height=\'100%\'>\ <style>\ rect { fill: %23f3f4f6; }\ @media (prefers-color-scheme: dark) { rect { fill: %23374151; } }\ </style>\ <rect width=\'100%\' height=\'100%\'/>\ </svg>'" class="ui-avatar d-inline-block me-3"> <div> <p class="mb-1"> Thanks <strong> Leo </strong> for being a Symfony contributor </p> <p class="mb-1"> <span role="tooltip" aria-label="1 commit"> <strong>1</strong> commit</span> • <span role="tooltip" aria-label="2 lines of code/doc changed"><strong>2</strong> lines changed</span> </p> </div> </div> <p class="mt-3 mb-0"><a class="ui-link fw-semibold" href="/contributors">View all contributors</a> that help us make Symfony</p> </div> <div class="contribute-to-symfony"> <div class="ui-heading"> <h3 id="become-a-symfony-contributor" class="ui-heading-title ui-text-md"> Become a Symfony contributor </h3> </div> <p class="mb-3"> Be an active part of the community and contribute ideas, code and bug fixes. Both experts and newcomers are welcome. </p> <a class="ui-link fw-semibold" href="/doc/current/contributing/index.html">Learn how to contribute</a> </div> </div> </div> </section> <section class="footer-bottom-wrapper"> <div class="ui-page-container "> <div class="footer-bottom"> <p class="mb-3"> <b>Symfony</b>™ is a trademark of Symfony SAS. <a href="/trademark">All rights reserved</a>. </p> <ul class="ui-sitemap "> <li> <p class="mb-2 fw-semibold"><a href="/what-is-symfony">What is Symfony?</a></p> <ul class="ui-sitemap-menu" role="menubar" aria-label="What is Symfony?"> <li class="" role="menuitem"> <a href="/what-is-symfony"> What is Symfony? </a> </li> <li class="" role="menuitem"> <a href="/at-a-glance"> Symfony at a Glance </a> </li> <li class="" role="menuitem"> <a href="/components"> Symfony Components </a> </li> <li class="" role="menuitem"> <a href="/releases"> Symfony Releases </a> </li> <li class="" role="menuitem"> <a href="/doc/current/contributing/code/security.html"> Security Policy </a> </li> <li class="" role="menuitem"> <a href="/logo"> Logo & Screenshots </a> </li> <li class="" role="menuitem"> <a href="/license"> Trademark & Licenses </a> </li> <li class="" role="menuitem"> <a href="/legacy"> symfony1 Legacy </a> </li> </ul> </li> <li> <p class="mb-2 fw-semibold"><a href="/doc/current/index.html">Learn Symfony</a></p> <ul class="ui-sitemap-menu" role="menubar" aria-label="Learn Symfony"> <li class="active" role="menuitem"> <a href="/doc/current/index.html"> Symfony Docs </a> </li> <li class="" role="menuitem"> <a href="/book"> Symfony Book </a> </li> <li class="" role="menuitem"> <a href="/doc/current/reference/index.html"> Reference </a> </li> <li class="" role="menuitem"> <a href="/bundles"> Bundles </a> </li> <li class="" role="menuitem"> <a href="/doc/current/best_practices.html"> Best Practices </a> </li> <li class="" role="menuitem"> <a href="https://sensiolabs.com/training?utm_source=symfony&utm_medium=symfony_footer&utm_campaign=permanent_referral"> Training </a> </li> <li class="" role="menuitem"> <a href="https://university.sensiolabs.com/e-learning-platform?utm_source=symfony&utm_medium=symfony_footer&utm_campaign=permanent_referral"> eLearning Platform </a> </li> <li class="" role="menuitem"> <a href="https://certification.symfony.com/"> Certification </a> </li> </ul> </li> <li> <p class="mb-2 fw-semibold"><a href="https://symfonycasts.com/">Screencasts</a></p> <ul class="ui-sitemap-menu" role="menubar" aria-label="Screencasts"> <li class="" role="menuitem"> <a href="https://symfonycasts.com/tracks/symfony"> Learn Symfony </a> </li> <li class="" role="menuitem"> <a href="https://symfonycasts.com/tracks/php"> Learn PHP </a> </li> <li class="" role="menuitem"> <a href="https://symfonycasts.com/tracks/javascript"> Learn JavaScript </a> </li> <li class="" role="menuitem"> <a href="https://symfonycasts.com/tracks/drupal"> Learn Drupal </a> </li> <li class="" role="menuitem"> <a href="https://symfonycasts.com/tracks/rest"> Learn RESTful APIs </a> </li> </ul> </li> <li> <p class="mb-2 fw-semibold"><a href="/community">Community</a></p> <ul class="ui-sitemap-menu" role="menubar" aria-label="Community"> <li class="" role="menuitem"> <a href="/community"> Symfony Community </a> </li> <li class="" role="menuitem"> <a href="https://connect.symfony.com/"> SymfonyConnect </a> </li> <li class="" role="menuitem"> <a href="/events/"> Events & Meetups </a> </li> <li class="" role="menuitem"> <a href="/projects"> Projects using Symfony </a> </li> <li class="" role="menuitem"> <a href="/contributors"> Contributors </a> </li> <li class="" role="menuitem"> <a href="/jobs"> Symfony Jobs </a> </li> <li class="" role="menuitem"> <a href="/backers"> Backers </a> </li> <li class="" role="menuitem"> <a href="/doc/current/contributing/code_of_conduct/code_of_conduct.html"> Code of Conduct </a> </li> <li class="" role="menuitem"> <a href="/stats/downloads"> Downloads Stats </a> </li> <li class="" role="menuitem"> <a href="/support"> Support </a> </li> </ul> </li> <li> <p class="mb-2 fw-semibold"><a href="/blog/">Blog</a></p> <ul class="ui-sitemap-menu" role="menubar" aria-label="Blog"> <li class="" role="menuitem"> <a href="/blog/"> All Blog Posts </a> </li> <li class="" role="menuitem"> <a href="/blog/category/a-week-of-symfony"> A Week of Symfony </a> </li> <li class="" role="menuitem"> <a href="/blog/category/case-studies"> Case Studies </a> </li> <li class="" role="menuitem"> <a href="/blog/category/cloud"> Cloud </a> </li> <li class="" role="menuitem"> <a href="/blog/category/community"> Community </a> </li> <li class="" role="menuitem"> <a href="/blog/category/conferences"> Conferences </a> </li> <li class="" role="menuitem"> <a href="/blog/category/diversity"> Diversity </a> </li> <li class="" role="menuitem"> <a href="/blog/category/living-on-the-edge"> Living on the edge </a> </li> <li class="" role="menuitem"> <a href="/blog/category/releases"> Releases </a> </li> <li class="" role="menuitem"> <a href="/blog/category/security-advisories"> Security Advisories </a> </li> <li class="" role="menuitem"> <a href="/blog/category/symfony-insight"> Symfony Insight </a> </li> <li class="" role="menuitem"> <a href="/blog/category/twig"> Twig </a> </li> <li class="" role="menuitem"> <a href="https://sensiolabs.com/blog?utm_source=symfony&utm_medium=symfony_footer&utm_campaign=permanent_referral"> SensioLabs Blog </a> </li> </ul> </li> <li> <p class="mb-2 fw-semibold"><a href="https://sensiolabs.com/?utm_source=symfony&utm_medium=symfony_footer&utm_campaign=permanent_referral">Services</a></p> <ul class="ui-sitemap-menu" role="menubar" aria-label="Services"> <li class="" role="menuitem"> <a href="https://sensiolabs.com/?utm_source=symfony&utm_medium=symfony_footer&utm_campaign=permanent_referral"> SensioLabs services </a> </li> <li class="" role="menuitem"> <a href="https://sensiolabs.com/training?utm_source=symfony&utm_medium=symfony_footer&utm_campaign=permanent_referral"> Train developers </a> </li> <li class="" role="menuitem"> <a href="https://insight.symfony.com/"> Manage your project quality </a> </li> <li class="" role="menuitem"> <a href="https://www.blackfire.io/?utm_source=symfony&utm_medium=symfonycom_footer&utm_campaign=profiler"> Improve your project performance </a> </li> <li class="" role="menuitem"> <a href="/cloud/"> Host Symfony projects </a> </li> </ul> <p class="mt-4 mb-2 fw-semibold"><a href="/cloud/">Powered by</a></p> <a href="/cloud/" class="block deploy-logo" title="Platform.sh, a Platform-as-a-Service optimized for Symfony developers" aria-label="Platform.sh"> <span aria-hidden="true"><svg viewBox="0 0 172.62 34.06" xmlns="http://www.w3.org/2000/svg"><g fill="currentColor"><path d="m144.07 0h28.55v11.35h-28.55z"/><path d="m144.07 24.69h28.55v3.86h-28.55z"/><path d="m144.07 15.02h28.55v5.82h-28.55z"/><path d="m0 13.85h3.61v2.15a5.45 5.45 0 0 1 1.9-1.79 5.25 5.25 0 0 1 2.66-.69 5.59 5.59 0 0 1 4.33 2 8.06 8.06 0 0 1 1.78 5.56 8.38 8.38 0 0 1 -1.79 5.71 5.6 5.6 0 0 1 -4.34 2 4.94 4.94 0 0 1 -2.15-.45 7.46 7.46 0 0 1 -2.08-1.66v7.38h-3.92zm3.83 7.07a5.66 5.66 0 0 0 1 3.65 3 3 0 0 0 2.37 1.17 2.78 2.78 0 0 0 2.24-1.08 5.55 5.55 0 0 0 .9-3.55 5.29 5.29 0 0 0 -.93-3.42 2.84 2.84 0 0 0 -2.28-1.11 3 3 0 0 0 -2.36 1.09 4.88 4.88 0 0 0 -.94 3.25z"/><path d="m16.07 28.49v-20.21h3.87v20.21z"/><path d="m25.5 18.32-3.5-.64a5.48 5.48 0 0 1 2-3.14 7.48 7.48 0 0 1 4.3-1 9.4 9.4 0 0 1 3.86.61 3.8 3.8 0 0 1 1.84 1.54 7.89 7.89 0 0 1 .52 3.47v4.52a15 15 0 0 0 .19 2.84 8 8 0 0 0 .69 2h-3.91c-.1-.26-.23-.64-.37-1.15-.07-.23-.11-.38-.14-.45a7 7 0 0 1 -2.12 1.45 6.15 6.15 0 0 1 -2.42.48 5 5 0 0 1 -3.56-1.23 4.05 4.05 0 0 1 -1.3-3.1 4.2 4.2 0 0 1 .59-2.21 3.87 3.87 0 0 1 1.66-1.49 13.49 13.49 0 0 1 3.08-.9 21.67 21.67 0 0 0 3.77-.95v-.39a2 2 0 0 0 -.56-1.58 3.26 3.26 0 0 0 -2.12-.52 2.8 2.8 0 0 0 -1.61.41 2.81 2.81 0 0 0 -.89 1.43zm5.18 3.14c-.5.16-1.29.36-2.36.59a7.55 7.55 0 0 0 -2.11.67 1.65 1.65 0 0 0 -.75 1.37 1.93 1.93 0 0 0 .6 1.41 2.13 2.13 0 0 0 1.54.59 3.34 3.34 0 0 0 2-.69 2.47 2.47 0 0 0 .93-1.28 7.73 7.73 0 0 0 .15-1.89z"/><path d="m43.81 13.85v3.09h-2.64v5.89a15.15 15.15 0 0 0 .07 2.09.82.82 0 0 0 .35.49 1 1 0 0 0 .65.2 5 5 0 0 0 1.56-.38l.33 3a7.63 7.63 0 0 1 -3.06.58 4.93 4.93 0 0 1 -1.89-.35 2.79 2.79 0 0 1 -1.18-.9 3.67 3.67 0 0 1 -.55-1.51 19.41 19.41 0 0 1 -.12-2.73v-6.38h-1.83v-3.09h1.78v-2.91l3.89-2.26v5.17z"/><path d="m44.94 13.85h2.15v-1.1a7.41 7.41 0 0 1 .39-2.75 3.18 3.18 0 0 1 1.45-1.48 5.56 5.56 0 0 1 2.67-.57 10.83 10.83 0 0 1 3.24.49l-.53 2.71a7.42 7.42 0 0 0 -1.77-.23 1.6 1.6 0 0 0 -1.21.4 2.28 2.28 0 0 0 -.33 1.5v1h2.9v3h-2.9v11.67h-3.91v-11.59h-2.15z"/><path d="m54.58 21a8 8 0 0 1 1-3.73 6.59 6.59 0 0 1 2.7-2.76 8 8 0 0 1 3.89-1 7.29 7.29 0 0 1 5.44 2.16 7.43 7.43 0 0 1 2.13 5.45 7.52 7.52 0 0 1 -2.14 5.5 7.24 7.24 0 0 1 -5.4 2.19 8.47 8.47 0 0 1 -3.84-.91 6.3 6.3 0 0 1 -2.78-2.67 8.91 8.91 0 0 1 -1-4.23zm4 .21a4.83 4.83 0 0 0 1 3.33 3.23 3.23 0 0 0 2.54 1.16 3.26 3.26 0 0 0 2.55-1.16 4.93 4.93 0 0 0 1-3.36 4.86 4.86 0 0 0 -1-3.31 3.29 3.29 0 0 0 -2.55-1.15 3.25 3.25 0 0 0 -2.54 1.15 4.86 4.86 0 0 0 -1.03 3.3z"/><path d="m75 28.49h-3.87v-14.64h3.6v2.08a6.06 6.06 0 0 1 1.66-1.93 3.07 3.07 0 0 1 1.67-.47 4.9 4.9 0 0 1 2.55.73l-1.2 3.38a3.32 3.32 0 0 0 -1.82-.64 2.11 2.11 0 0 0 -1.37.45 3 3 0 0 0 -.89 1.62 22.62 22.62 0 0 0 -.33 4.93z"/><path d="m81.77 13.85h3.57v2a5.75 5.75 0 0 1 4.56-2.33 4.87 4.87 0 0 1 2.44.58 4.39 4.39 0 0 1 1.66 1.75 6.73 6.73 0 0 1 2.09-1.75 5 5 0 0 1 2.38-.58 5.36 5.36 0 0 1 2.73.65 4.06 4.06 0 0 1 1.67 1.93 8.44 8.44 0 0 1 .4 3v9.36h-3.85v-8.34a6.16 6.16 0 0 0 -.4-2.81 1.83 1.83 0 0 0 -1.65-.83 2.66 2.66 0 0 0 -1.53.5 2.71 2.71 0 0 0 -1 1.45 10.52 10.52 0 0 0 -.32 3v7h-3.91v-8a11.17 11.17 0 0 0 -.2-2.76 1.76 1.76 0 0 0 -.64-.92 2 2 0 0 0 -1.18-.31 2.82 2.82 0 0 0 -1.59.56 2.7 2.7 0 0 0 -1 1.4 10.2 10.2 0 0 0 -.31 3v7.11h-3.92z"/><path d="m105.23 28.49v-3.88h3.87v3.88z"/><path d="m110.55 24.31 3.89-.59a2.84 2.84 0 0 0 1 1.72 3.4 3.4 0 0 0 2.12.58 3.86 3.86 0 0 0 2.27-.55 1.25 1.25 0 0 0 .5-1 1.05 1.05 0 0 0 -.27-.74 3.09 3.09 0 0 0 -1.3-.5q-4.68-1-5.94-1.89a3.79 3.79 0 0 1 -1.73-3.3 4.09 4.09 0 0 1 1.5-3.2 7 7 0 0 1 4.66-1.29 8 8 0 0 1 4.46 1 5 5 0 0 1 2 2.89l-3.66.68a2.21 2.21 0 0 0 -.89-1.31 3.18 3.18 0 0 0 -1.86-.45 4.33 4.33 0 0 0 -2.2.42.93.93 0 0 0 -.44.79.85.85 0 0 0 .39.7 14.37 14.37 0 0 0 3.62 1.09 10.82 10.82 0 0 1 4.33 1.64 3.58 3.58 0 0 1 1.21 2.88 4.4 4.4 0 0 1 -1.68 3.46 7.42 7.42 0 0 1 -5 1.45 8.07 8.07 0 0 1 -4.73-1.22 5.56 5.56 0 0 1 -2.25-3.26z"/><path d="m129.66 8.28v7.43a5.79 5.79 0 0 1 6.89-1.71 3.92 3.92 0 0 1 1.62 1.26 4.66 4.66 0 0 1 .74 1.71 15.64 15.64 0 0 1 .2 2.91v8.59h-3.87v-7.72a11.35 11.35 0 0 0 -.22-2.92 1.93 1.93 0 0 0 -.78-1 2.53 2.53 0 0 0 -1.4-.37 3.22 3.22 0 0 0 -1.72.47 2.64 2.64 0 0 0 -1.12 1.43 8.63 8.63 0 0 0 -.35 2.8v7.33h-3.87v-20.21z"/></g></svg> </span> </a> </li> </ul> <div class="my-4"> <h3><span>Follow Symfony</span></h3> <div class="d-flex align-items-center flex-wrap mt-3 row-gap-3 column-gap-4"> <a href="https://github.com/symfony" target="_blank" rel="me external noopener noreferrer" title="Symfony on GitHub"> <svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" font-size="32px"><path fill="currentColor" d="M12 .297c-6.63 0-12 5.373-12 12c0 5.303 3.438 9.8 8.205 11.385c.6.113.82-.258.82-.577c0-.285-.01-1.04-.015-2.04c-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729c1.205.084 1.838 1.236 1.838 1.236c1.07 1.835 2.809 1.305 3.495.998c.108-.776.417-1.305.76-1.605c-2.665-.3-5.466-1.332-5.466-5.93c0-1.31.465-2.38 1.235-3.22c-.135-.303-.54-1.523.105-3.176c0 0 1.005-.322 3.3 1.23c.96-.267 1.98-.399 3-.405c1.02.006 2.04.138 3 .405c2.28-1.552 3.285-1.23 3.285-1.23c.645 1.653.24 2.873.12 3.176c.765.84 1.23 1.91 1.23 3.22c0 4.61-2.805 5.625-5.475 5.92c.42.36.81 1.096.81 2.22c0 1.606-.015 2.896-.015 3.286c0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"></path></svg> </a> <a href="/slack" target="_blank" rel="external noopener noreferrer" title="Symfony on Slack"> <svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" font-size="32px"><path fill="currentColor" d="M5.042 15.165a2.53 2.53 0 0 1-2.52 2.523A2.53 2.53 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52zm1.271 0a2.527 2.527 0 0 1 2.521-2.52a2.527 2.527 0 0 1 2.521 2.52v6.313A2.53 2.53 0 0 1 8.834 24a2.53 2.53 0 0 1-2.521-2.522zM8.834 5.042a2.53 2.53 0 0 1-2.521-2.52A2.53 2.53 0 0 1 8.834 0a2.53 2.53 0 0 1 2.521 2.522v2.52zm0 1.271a2.53 2.53 0 0 1 2.521 2.521a2.53 2.53 0 0 1-2.521 2.521H2.522A2.53 2.53 0 0 1 0 8.834a2.53 2.53 0 0 1 2.522-2.521zm10.122 2.521a2.53 2.53 0 0 1 2.522-2.521A2.53 2.53 0 0 1 24 8.834a2.53 2.53 0 0 1-2.522 2.521h-2.522zm-1.268 0a2.53 2.53 0 0 1-2.523 2.521a2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.53 2.53 0 0 1 2.523 2.522zm-2.523 10.122a2.53 2.53 0 0 1 2.523 2.522A2.53 2.53 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522zm0-1.268a2.527 2.527 0 0 1-2.52-2.523a2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.53 2.53 0 0 1-2.522 2.523z"></path></svg> </a> <a href="https://twitter.com/symfony" target="_blank" rel="me external noopener noreferrer" title="Symfony on Twitter"> <svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" font-size="32px"><path fill="currentColor" d="M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584l-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z"></path></svg> </a> <a href="https://mastodon.social/@symfony" target="_blank" rel="me external noopener noreferrer" title="Symfony on Mastodon"> <svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" font-size="32px"><path fill="currentColor" d="M23.268 5.313c-.35-2.578-2.617-4.61-5.304-5.004C17.51.242 15.792 0 11.813 0h-.03c-3.98 0-4.835.242-5.288.309C3.882.692 1.496 2.518.917 5.127C.64 6.412.61 7.837.661 9.143c.074 1.874.088 3.745.26 5.611c.118 1.24.325 2.47.62 3.68c.55 2.237 2.777 4.098 4.96 4.857c2.336.792 4.849.923 7.256.38q.398-.092.786-.213c.585-.184 1.27-.39 1.774-.753a.06.06 0 0 0 .023-.043v-1.809a.05.05 0 0 0-.02-.041a.05.05 0 0 0-.046-.01a20.3 20.3 0 0 1-4.709.545c-2.73 0-3.463-1.284-3.674-1.818a5.6 5.6 0 0 1-.319-1.433a.053.053 0 0 1 .066-.054c1.517.363 3.072.546 4.632.546c.376 0 .75 0 1.125-.01c1.57-.044 3.224-.124 4.768-.422q.059-.011.11-.024c2.435-.464 4.753-1.92 4.989-5.604c.008-.145.03-1.52.03-1.67c.002-.512.167-3.63-.024-5.545m-3.748 9.195h-2.561V8.29c0-1.309-.55-1.976-1.67-1.976c-1.23 0-1.846.79-1.846 2.35v3.403h-2.546V8.663c0-1.56-.617-2.35-1.848-2.35c-1.112 0-1.668.668-1.67 1.977v6.218H4.822V8.102q0-1.965 1.011-3.12c.696-.77 1.608-1.164 2.74-1.164c1.311 0 2.302.5 2.962 1.498l.638 1.06l.638-1.06c.66-.999 1.65-1.498 2.96-1.498c1.13 0 2.043.395 2.74 1.164q1.012 1.155 1.012 3.12z"></path></svg> </a> <a href="https://www.linkedin.com/company/symfony-sas/" target="_blank" rel="me external noopener noreferrer" title="Symfony on LinkedIn"> <svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" font-size="32px"><path fill="currentColor" d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037c-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85c3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.06 2.06 0 0 1-2.063-2.065a2.064 2.064 0 1 1 2.063 2.065m1.782 13.019H3.555V9h3.564zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0z"></path></svg> </a> <a href="https://www.facebook.com/SymfonyFramework" target="_blank" rel="me external noopener noreferrer" title="Symfony on Facebook"> <svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" font-size="32px"><path fill="currentColor" d="M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978c.401 0 .955.042 1.468.103a9 9 0 0 1 1.141.195v3.325a9 9 0 0 0-.653-.036a27 27 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.7 1.7 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103l-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647"></path></svg> </a> <a href="https://www.youtube.com/symfonytv" target="_blank" rel="me external noopener noreferrer" title="Symfony on YouTube"> <svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" font-size="32px"><path fill="currentColor" d="M23.498 6.186a3.02 3.02 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.02 3.02 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.02 3.02 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.02 3.02 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814M9.545 15.568V8.432L15.818 12z"></path></svg> </a> <a href="https://bsky.app/profile/symfony.bsky.social" target="_blank" rel="me external noopener noreferrer" title="Symfony on BlueSky"> <svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" font-size="32px"><path fill="currentColor" d="M12 10.8c-1.087-2.114-4.046-6.053-6.798-7.995C2.566.944 1.561 1.266.902 1.565C.139 1.908 0 3.08 0 3.768c0 .69.378 5.65.624 6.479c.815 2.736 3.713 3.66 6.383 3.364q.204-.03.415-.056q-.207.033-.415.056c-3.912.58-7.387 2.005-2.83 7.078c5.013 5.19 6.87-1.113 7.823-4.308c.953 3.195 2.05 9.271 7.733 4.308c4.267-4.308 1.172-6.498-2.74-7.078a9 9 0 0 1-.415-.056q.21.026.415.056c2.67.297 5.568-.628 6.383-3.364c.246-.828.624-5.79.624-6.478c0-.69-.139-1.861-.902-2.206c-.659-.298-1.664-.62-4.3 1.24C16.046 4.748 13.087 8.687 12 10.8"></path></svg> </a> <a href="https://www.threads.net/@symfony" target="_blank" rel="me external noopener noreferrer" title="Symfony on Threads"> <svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" font-size="32px"><path fill="currentColor" d="M12.186 24h-.007c-3.581-.024-6.334-1.205-8.184-3.509C2.35 18.44 1.5 15.586 1.472 12.01v-.017c.03-3.579.879-6.43 2.525-8.482C5.845 1.205 8.6.024 12.18 0h.014c2.746.02 5.043.725 6.826 2.098c1.677 1.29 2.858 3.13 3.509 5.467l-2.04.569c-1.104-3.96-3.898-5.984-8.304-6.015c-2.91.022-5.11.936-6.54 2.717C4.307 6.504 3.616 8.914 3.589 12c.027 3.086.718 5.496 2.057 7.164c1.43 1.783 3.631 2.698 6.54 2.717c2.623-.02 4.358-.631 5.8-2.045c1.647-1.613 1.618-3.593 1.09-4.798c-.31-.71-.873-1.3-1.634-1.75c-.192 1.352-.622 2.446-1.284 3.272c-.886 1.102-2.14 1.704-3.73 1.79c-1.202.065-2.361-.218-3.259-.801c-1.063-.689-1.685-1.74-1.752-2.964c-.065-1.19.408-2.285 1.33-3.082c.88-.76 2.119-1.207 3.583-1.291a14 14 0 0 1 3.02.142c-.126-.742-.375-1.332-.75-1.757c-.513-.586-1.308-.883-2.359-.89h-.029c-.844 0-1.992.232-2.721 1.32l-1.757-1.18c.98-1.454 2.568-2.256 4.478-2.256h.044c3.194.02 5.097 1.975 5.287 5.388q.163.07.321.142c1.49.7 2.58 1.761 3.154 3.07c.797 1.82.871 4.79-1.548 7.158c-1.85 1.81-4.094 2.628-7.277 2.65Zm1.003-11.69q-.362 0-.739.021c-1.836.103-2.98.946-2.916 2.143c.067 1.256 1.452 1.839 2.784 1.767c1.224-.065 2.818-.543 3.086-3.71a10.5 10.5 0 0 0-2.215-.221"></path></svg> </a> <a href="https://symfonycasts.com/" target="_blank" rel="me external noopener noreferrer" title="Symfony Screencasts"> <svg viewBox="0 0 300 300" space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421" width="32px" height="32px" fill="currentColor" aria-hidden="true"><g><path d="M300 30c0-16.557-13.443-30-30-30H30C13.443 0 0 13.443 0 30v240c0 16.557 13.443 30 30 30h240c16.557 0 30-13.443 30-30V30z" style="fill: currentColor"></path><path d="M94.679 204.481c-4.374-1.925-9.01-2.625-13.734-2.625-18.632 0-32.278 12.51-32.278 31.317 0 19.42 12.859 31.841 32.191 31.841 3.587 0 9.272-.262 13.909-2.187l-.257-4.156a3.1 3.1 0 0 0-3.988-2.776c-2.99.903-6.622 1.421-9.577 1.421-12.684 0-23.006-9.534-23.006-23.881 0-13.733 9.36-23.881 23.444-23.881 3.038 0 5.994.528 8.787 1.582a3.098 3.098 0 0 0 4.178-2.646l.331-4.009zm13.522 19.85a3.1 3.1 0 0 0 4.404 2.615c2.741-1.268 5.876-1.996 8.866-1.996 8.223 0 11.022 3.937 11.022 11.635-3.237-.175-5.511-.175-8.748-.175-8.485 0-20.732 3.499-20.732 14.696 0 9.709 6.736 13.908 16.358 13.908 7.523 0 11.897-4.111 13.822-6.823h.175v5.774h4.352a3.098 3.098 0 0 0 3.093-3.296 125.34 125.34 0 0 1-.097-5.452v-18.458c0-12.159-5.161-18.457-17.933-18.457-5.686 0-10.585 1.75-14.696 4.199l.114 1.83zm44.173 38.234c3.761 2.012 8.048 2.449 12.247 2.449 7.96 0 15.57-4.373 15.57-13.908 0-14.259-19.332-11.635-19.332-20.732 0-3.674 3.674-5.424 7.873-5.424 1.107 0 3.2.377 5.127.913a3.097 3.097 0 0 0 3.926-2.68l.307-3.131c-3.237-.963-6.386-1.75-10.235-1.75-8.835 0-15.746 4.461-15.746 13.734 0 12.509 19.333 11.809 19.333 19.944 0 4.812-4.637 6.386-8.398 6.386-1.512 0-3.954-.43-6.366-1.29a3.097 3.097 0 0 0-4.141 2.732l-.165 2.757zm71.142 0c3.761 2.012 8.048 2.449 12.247 2.449 7.96 0 15.57-4.373 15.57-13.908 0-14.259-19.332-11.635-19.332-20.732 0-3.674 3.674-5.424 7.873-5.424 1.107 0 3.2.377 5.127.913a3.097 3.097 0 0 0 3.926-2.68l.307-3.131c-3.237-.963-6.386-1.75-10.235-1.75-8.835 0-15.746 4.461-15.746 13.734 0 12.509 19.333 11.809 19.333 19.944 0 4.812-4.637 6.386-8.398 6.386-1.512 0-3.954-.43-6.366-1.29a3.097 3.097 0 0 0-4.141 2.732l-.165 2.757zm-29.36-43.213v-12.947h5.123a3.1 3.1 0 0 1 3.099 3.1v9.847h11.81v3.548a3.1 3.1 0 0 1-3.1 3.1h-8.71v24.406c0 5.161 3.15 7.96 6.911 7.96.702 0 1.351-.06 1.947-.167a3.101 3.101 0 0 1 3.652 3.05v2.541c-1.837.525-4.374 1.224-6.999 1.224-8.485 0-13.733-4.024-13.733-12.946V226h-5.052a3.1 3.1 0 0 1-3.099-3.1v-3.548h8.151zm-61.663 27.292c0 6.649-4.286 11.722-12.422 11.722-3.761 0-8.31-2.537-8.31-7.26 0-7.873 11.022-8.573 15.483-8.573 1.75 0 3.499.175 5.249.175v3.936zm136.934-67.652H30.577c-.355-.024-.449-.012-.794-.109-1.164-.326-2.062-1.423-2.145-2.636a3.007 3.007 0 0 1 1.409-2.719c.344-.209.73-.346 1.129-.401.133-.019.268-.019.401-.028H53c-7.987-7.798-9.293-17.234-7.409-23.363 2.511-8.144 8.984-9.683 15.314-7.741 6.779 2.096 9.432 10.333 7.493 16.657-.216.677-.562 1.805-1.274 3.324-.787 1.738-2.245 3.272-2.869 5.31-.693 2.253.33 4.211 2.099 5.813h27.289c1.97-1.871 3.447-4.169 4.233-6.74 2.444-7.89-2.548-13.398-4.615-15.512l-10.054-10.762c-4.598-5.12-14.713-19.398-9.779-35.432 1.904-6.184 5.91-12.742 11.724-17.083 12.275-9.147 25.621-10.648 38.327-6.995 16.448 4.729 24.347 15.602 34.59 24.005 5.735-16.818 13.683-33.283 25.635-47.176 10.794-12.652 25.297-21.822 41.908-22.39 16.596-.548 29.142 6.974 29.556 18.882.167 5.068-2.74 14.92-12.864 15.261-7.572.262-12.8-4.263-13.036-11.135-.085-2.519.566-4.724 2.292-7.301 1.688-3.304 2.049-3.683 2.006-5.12-.152-4.333-6.692-4.493-8.482-4.409-24.548.811-31.018 33.939-36.263 60.875l-2.569 14.205c14.136 2.067 24.172-.481 29.77-4.102 7.881-5.117-2.205-10.374-.933-16.191 1.288-5.931 6.683-8.794 10.969-8.914 6-.148 10.283 6.077 10.144 12.395-.216 10.444-14.069 24.793-41.783 24.207a96.847 96.847 0 0 1-9.38-.665l-5.228 28.86c-1.387 6.478-2.91 13.66-4.945 21.237h94.561l.401.028c.132.027.265.045.394.082a3.005 3.005 0 0 1 2.09 2.237c.272 1.308-.46 2.759-1.711 3.302-.246.107-.506.18-.773.217-.132.018-.267.018-.401.027zm-127.085-5.893c.469-2.383.942-4.832 1.422-7.35l1.674-10.152c2.723-13.608 5.741-28.784 10.342-43.905-11.162-8.404-17.847-18.821-32.86-22.892-10.29-2.793-16.562-.423-20.973 5.155-5.222 6.604-3.488 15.2 1.557 20.241l8.336 9.223c10.222 11.808 15.809 20.999 13.707 33.359-1.024 6.057-3.949 11.682-8.315 16.321h25.11z" style="fill: var(--footer-bottom-background)"></path></g></svg> </a> <a href="https://feeds.feedburner.com/symfony/blog" target="_blank" rel="external noopener noreferrer" title="Symfony Blog RSS"> <svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" font-size="32px"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 19a1 1 0 1 0 2 0a1 1 0 1 0-2 0M4 4a16 16 0 0 1 16 16M4 11a9 9 0 0 1 9 9"></path></svg> </a> </div> </div> <div class="theme"> <form class="d-flex align-items-center"> <label for="color-scheme-switcher"> <svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" font-size="21px" class="me-1 ui-text-muted"><path fill="currentColor" d="M17 3.34A10 10 0 1 1 2 12l.005-.324A10 10 0 0 1 17 3.34M8 5.072A8 8 0 0 0 12.001 20L12 4a8 8 0 0 0-4 1.072"></path></svg> <span class="visually-hidden">Site appearance:</span> </label> <select id="color-scheme-switcher" autocomplete="off"> <option value="light">Light mode</option> <option value="dark">Dark mode</option> <option value="sync" selected>Sync with system</option> </select> </form> </div> <script async> const colorSchemeSwitcher = document.getElementById('color-scheme-switcher'); const currentScheme = localStorage.getItem('colorScheme'); colorSchemeSwitcher.value = currentScheme; colorSchemeSwitcher.addEventListener('change', function () { const selectedColorScheme = colorSchemeSwitcher.value; let resolvedColorScheme = selectedColorScheme; if ('sync' === resolvedColorScheme) { resolvedColorScheme = matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'; } document.body.classList.remove('light-theme', 'dark-theme'); document.body.classList.add('light' === resolvedColorScheme ? 'light-theme' : 'dark-theme'); localStorage.setItem('colorScheme', selectedColorScheme); document.body.style.colorScheme = resolvedColorScheme; }); </script> </div> </div> </section> </div> </footer> <div id="search-modal-backdrop" class="search-container" style="display: none"> <div role="dialog" aria-modal="true" id="search-modal-content" tabindex="-1"> <button aria-label="Close modal" id="search-modal-close-button">CLOSE</button> <div class="search-container" data-controller="live" data-live-name-value="Search" data-live-url-value="/_components/Search" id="live-2308103015-0" data-live-props-value="{"query":null,"@attributes":{"id":"live-2308103015-0"},"@checksum":"T8w3JMMlYNTMVShvf\/H5DoH+tLNjpWjA5vhKHU9v+GQ="}"> <form id="form-search"> <div class="form-group form-search-input"> <label for="form-search-input" class="visually-hidden">Search Symfony Docs</label> <input type="search" name="q" data-model="query" value="" class="mousetrap form-control ui-form-control-rounded ui-form-control-search-icon form-search-input" placeholder="Search Symfony Docs" aria-label="Search in Symfony documentation" autocapitalize="off" autocomplete="off" autocorrect="off" spellcheck="false"> </div> <button type="submit" class="visually-hidden">Search</button> </form> </div> </div> </div> </body> </html>