Symfony — відкритий каркас вебзастосунків, написаний на PHP, і набір багаторазових компонентів/бібліотек для найзагальніших вебзадач. Випускається під ліцензією МІТ. Symfony є вільним програмним забезпеченням. Вебсайт першої версії symfony-project.com був запущений 18 жовтня 2005 року.
Symfony не варто плутати із Symphony CMS відкритої XML/XSLT CMS.
Мета
Symfony спрямований на прискорення створення та підтримки вебзастосунків, а також для уникнення витрат часу для розв'язування тривіальних задач у розробці (наприклад, написання валідаторів форм).
Для встановлення Symfony необхідний Unix, Linux, Mac OS чи Windows із вебсервером та встановленим PHP 7. Symfony сумісний із такими об'єктно-реляційними відображеннями, як Doctrine та Propel.
За допомогою акселератора PHP Symfony збільшує продуктивність та зменшує навантаження на сервер.
Symfony ставить за мету дати розробникам повний контроль над конфігурацією: майже все можливо налаштувати, від структури каталогів до сторонніх бібліотек.
Технічна сторона
Symfony використовує шаблон проєктування модель-вид-контролер. Розробників Symfony надихнули такі фреймворки, як Ruby on Rails, Django та Spring Framework.
Symfony може використовувати існуючі відкриті PHP проєкти, як частину фреймворка, серед них
Propel або Doctrine, як ORM шар PDO (1.1, із Doctrine та Propel) PHPUnit, unit-тести Twig, обробник шаблонів Swift Mailer, бібліотека для роботи з e-mail
Також Symfony може використовувати свої власні компоненти, які доступні на сайті Symfony компонентів
Symfony YAML, yaml парсер, який базується на Spyc Symfony Event Dispacher Symfony Dependency Injector Symfony Templating
Використовуючи систему плагінів, Symfony може підтримувати JavaScript фреймворків та багато інших PHP проєктів: Prototype або jQuery, як JavaScript фреймворки script.aculo.us, для візуальних ефектів PHP Less , CSS-парсер, який базується на Less TinyMCE або CKEditor, просунуті текстові редактори TCPDF, PHP для генерування PDF документів.
Ще однією перевагою Symfony є наявність генераторів, за допомогою яких значно пришвидшується розробка.
Підтримує велику кількість баз даних, серед яких MySQL, Oracle, PostgreSQL, SQLite, Microsoft SQL Server, MongoDB тощо.
Серед можливостей: інструменти для локалізації та інтернаціоналізації, unit-тестування, БД-абстракції, smart-URL, Debug Toolbar, development та production режими, form framework.
Відрізняється доволі якісною документацією та великою спільнотою.
Популярні сторонні бібліотеки SonataAdminBundle , адміністраторський інтерфейс. Використовує Twitter Bootstrap. FOSUserBundle , популярний бандл, який містить у собі готові рішення для найважливіших функцій роботи з користувачами (реєстрація, редагування профіля, відновлення пароля, тощо). KnpPaginatorBundle , надає можливість сортувати та розбивати на сторінки будьяку інформацію, включаючи виборку з бази даних. HWIOAuthBundle , додає можливість автентифікації за допомогою OAuth1.0a або OAuth2. Містить підтримку понад 20 різноманітних провайдерів.
Версії
Колір Значення Червоний Реліз більше не підтримується Зелений Підтримується Синюватий Майбутній реліз
Версія Дата виходу Підтримка Версія PHP Закінчення підтримки Примітка 1.0 Січень 2007 3 роки >= 5.0 Січень 2010 1.1 Червень 2008 1 рік >= 5.1 Червень 2009 Патчі, що пов'язані із безпекою будуть випускатись до червня 2010 1.2 Грудень 2008 1 рік >= 5.2 Грудень 2009 1.3 Листопад 2009 1 рік >= 5.2.4 Листопад 2010 1.4 Листопад 2009 3 роки >= 5.2.4 Січень 2013 1.4 ідентична 1.3, але непідтримує 1.3 застралі функції. 2.0 Липень 2011 >= 5.3.2 Березень 2013 Останнім релізом 2.0.х гілки був 2.0.23 2.1 Вересень 2012 8 місяців >= 5.3.3 Червень 2013 2.2 Березень 2013 8 місяців >= 5.3.3 Листопад 2013 2.3 Червень 2013 3 роки ≥ 5.3.3 Травень 2016 Перший реліз 2 версії фреймворка із довготривалою підтримкою 2.4 Листопад 2013 8 місяців ≥ 5.3.3 Липень 2014 Перший реліз 2.х гілки зі зворотною сумісністю 2.5 Травень 2014 8 місяців ≥ 5.3.3 Січень 2015 2.6 Листопад 2014 8 місяців ≥ 5.3.3 Липень 2015 2.7 Травень 2015 3 роки ≥ 5.3.9 Травень 2018 LTS випуск. 2.8 Листопад 2015 3 роки ≥ 5.3.9 Листопад 2018 LTS випуск. 3.0 Листопад 2015 8 місяців ≥ 5.5.9 Липень 2016 3.1 Травень 2016 8 місяців ≥ 5.5.9 Січень 2017 3.2 Листопад 2016 8 місяців ≥ 5.5.9 Липень 2017 3.3 Червень 2017 8 місяців≥ 5.5.9 Січень 2018 3.4 Листопад 2017 3 роки≥ 5.5.9 Листопад 2020 LTS випуск. 4.0 Листопад 2017 8 місяців ≥ 7.1.3 Липень 2018 Закінчена підтримка для HHVM 4.1 Травень 2018 8 місяців ≥ 7.1.3 Січень 2019 4.2 Листопад 2018 8 місяців ≥ 7.1.3 Липень 2019 4.3 Травень 2019 8 місяців ≥ 7.1.3 Січень 2020 4.4 Листопад 2019 3 роки ≥ 7.1.3 Листопад 2022 LTS випуск. 5.0 Листопад 2019 8 місяців ≥ 7.2.5 Липень 2020 5.1 Травень 2020 8 місяців ≥ 7.2.5 Січень 2021 5.2 Листопад 2020 8 місяців ≥ 7.2.5 Липень 2021 5.3 Травень 2021 8 місяців ≥ 7.2.5 Січень 2022 Стабільний випуск. 5.4 Листопад 2021 3 роки ≥ 7.2.5 Листопад 2024 LTS випуск. 6.0 Листопад 2021 8 місяців ≥ 8.0.2 Січень 2023 6.1 8 місяців ≥ 8.1 Січень 2023
Symfony 1.4.X є останньою версією 1-ї гілки фреймворку. Symfony 2 це зовсім інший новий фреймворк із іншою структурою.
Спонсори Symfony спонсорується Sensio, французькою веб студією. Перша назва була Sensio Framework, і всі класи мали префікс sf. Пізніше, коли було прийнято рішення про запуск його як open source фреймворку, результат мозкового штурму вилився у назву symfony (перейменована на Symfony із другої версії)
Проєкти написані на Symfony Delicious — У лютому 2009 року Dailymotion частково став використовувати Symfony, продовжується робота над остаточним переходом на цей каркас. Yahoo!Bookmarks Drupal 8 — Восьма версія популярної CMS буде включати в себе деякі компоненти LTS релізу Symfony 2.3 eRepublic — Популярна масова багатокористувацька браузерна онлайнова гра eZ Publish 5 OpenSky
А також багато інших проєктів.
Посилання Офіційний сайт проєкту Офіційний сайт Symfony 2 Документіція Symfony 1.4 API Сайт Sensio Labs Symfony 5: Швидкий старт Розробка на Symfony. Статті. Переклади Блоґ про Symfony Symfony Camp UA — конференція для Symfony розробників
Примітки