Symfony — відкритий каркас вебзастосунків, написаний на PHP, і набір багаторазових компонентів/бібліотек для найзагальніших вебзадач[2]. Випускається під ліцензією МІТ. Symfony є вільним програмним забезпеченням. Вебсайт першої версії symfony-project.com був запущений 18 жовтня 2005 року.[3]
Symfony не варто плутати із Symphony CMS відкритої XML/XSLT CMS.
Мета
Symfony спрямований на прискорення створення та підтримки вебзастосунків, а також для уникнення витрат часу для розв'язування тривіальних задач у розробці (наприклад, написання валідаторів форм).
Для встановлення Symfony необхідний Unix, Linux, Mac OS чи Windows із вебсервером та встановленим PHP 7. Symfony сумісний із такими об'єктно-реляційними відображеннями, як Doctrine та Propel.[4]
За допомогою акселератора PHP Symfony збільшує продуктивність та зменшує навантаження на сервер.
Symfony ставить за мету дати розробникам повний контроль над конфігурацією: майже все можливо налаштувати, від структури каталогів до сторонніх бібліотек.
Технічна сторона
Symfony використовує шаблон проєктування модель-вид-контролер. Розробників Symfony надихнули такі фреймворки, як Ruby on Rails, Django та Spring Framework.[5]
Symfony може використовувати існуючі відкриті PHP проєкти, як частину фреймворка, серед них
- Propel або Doctrine, як ORM шар
- PDO Database abstraction layer[en] (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 [Архівовано 19 лютого 2010 у Wayback Machine.], CSS-парсер, який базується на Less [Архівовано 19 січня 2022 у Wayback Machine.]
- TinyMCE або CKEditor, просунуті текстові редактори
- TCPDF, PHP для генерування PDF документів.
Ще однією перевагою Symfony є наявність генераторів, за допомогою яких значно пришвидшується розробка.
Підтримує велику кількість баз даних, серед яких MySQL, Oracle, PostgreSQL, SQLite, Microsoft SQL Server, MongoDB тощо.
Серед можливостей: інструменти для локалізації та інтернаціоналізації, unit-тестування, БД-абстракції, smart-URL, Debug Toolbar, development та production режими, form framework.
Відрізняється доволі якісною документацією та великою спільнотою.
Популярні сторонні бібліотеки
- SonataAdminBundle [Архівовано 1 червня 2014 у Wayback Machine.], адміністраторський інтерфейс. Використовує Twitter Bootstrap.
- FOSUserBundle [Архівовано 11 серпня 2013 у Wayback Machine.], популярний бандл, який містить у собі готові рішення для найважливіших функцій роботи з користувачами (реєстрація, редагування профіля, відновлення пароля, тощо).
- KnpPaginatorBundle [Архівовано 10 жовтня 2013 у Wayback Machine.], надає можливість сортувати та розбивати на сторінки будьяку інформацію, включаючи виборку з бази даних.
- HWIOAuthBundle [Архівовано 6 вересня 2013 у Wayback Machine.], додає можливість автентифікації за допомогою 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 застралі функції.[6] |
2.0[7] | Липень 2011[8] | >= 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, французькою веб студією.[9] Перша назва була Sensio Framework,[10] і всі класи мали префікс sf. Пізніше, коли було прийнято рішення про запуск його як open source фреймворку, результат мозкового штурму вилився у назву symfony (перейменована на Symfony із другої версії)[11]
Проєкти написані на Symfony
- Delicious — У лютому 2009 року Dailymotion частково став використовувати Symfony, продовжується робота над остаточним переходом на цей каркас.
- Yahoo!Bookmarks [Архівовано 25 серпня 2013 у Wayback Machine.]
- Drupal 8 — Восьма версія популярної CMS буде включати в себе деякі компоненти LTS релізу Symfony 2.3
- eRepublic — Популярна масова багатокористувацька браузерна онлайнова гра
- eZ Publish 5
- OpenSky [Архівовано 9 листопада 2013 у Wayback Machine.]
А також багато інших проєктів.
Посилання
- Офіційний сайт проєкту [Архівовано 18 листопада 2007 у Wayback Machine.](англ.)
- Офіційний сайт Symfony 2 [Архівовано 19 березня 2011 у Wayback Machine.](англ.)
- Документіція [Архівовано 25 жовтня 2011 у Wayback Machine.](англ.)
- Symfony 1.4 API [Архівовано 29 жовтня 2011 у Wayback Machine.]
- Сайт Sensio Labs(фр.)
- Symfony 5: Швидкий старт [Архівовано 8 травня 2021 у Wayback Machine.](укр.)
- Розробка на Symfony. Статті. Переклади [Архівовано 4 травня 2010 у Wayback Machine.](рос.)
- Блоґ про Symfony [Архівовано 31 жовтня 2011 у Wayback Machine.](рос.)
- Symfony Camp UA — конференція для Symfony розробників [Архівовано 18 квітня 2010 у Wayback Machine.](рос.)
Примітки
- ↑ The symfony Open Source Project on Open Hub: Languages Page — 2006.
- ↑ What is Symfony. Архів оригіналу за 8 травня 2021. Процитовано 8 травня 2021.
- ↑ Symfony Web PHP Framework » Blog » Two years of symfony. Архів оригіналу за 22 січня 2009. Процитовано 28 жовтня 2011.
- ↑ The symfony and Doctrine book. Архів оригіналу за 14 жовтня 2011. Процитовано 28 жовтня 2011.
- ↑ Архівована копія. Архів оригіналу за 28 лютого 2011. Процитовано 28 жовтня 2011.
{{cite web}}
: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання) - ↑ Symfony Blog - About symfony 1.3 and 1.4. Архів оригіналу за 9 січня 2011. Процитовано 28 жовтня 2011.
- ↑ Symfony blog - Why will Symfony 2.0 finally use PHP 5.3?. Архів оригіналу за 24 лютого 2011. Процитовано 28 жовтня 2011.
- ↑ Symfony blog - Symfony2 release. Архів оригіналу за 21 жовтня 2011. Процитовано 28 жовтня 2011.
- ↑ Learn symfony: A Beginner's Tutorial. Архів оригіналу за 16 січня 2009. Процитовано 28 жовтня 2011.
- ↑ Symfony framework forum: General discussion => New symfony tagline brainstorming. Архів оригіналу за 22 грудня 2008. Процитовано 28 жовтня 2011.
- ↑ Comments by Sensio Owner. Архів оригіналу за 22 грудня 2008. Процитовано 28 жовтня 2011.