Symfony
Symfony — відкритий каркас вебзастосунків написаний на PHP і набір багаторазових компонентів/бібліотек для найзагальніших веб-задачі[2]. Випускається під ліцензією МІТ. Symfony є вільним програмним забезпеченням. Вебсайт першої версії symfony-project.com був запущений 18 жовтня 2005 року.[3]
| |
Сторінка створення проекту на Symfony | |
Тип | каркас для веб-застосунків |
---|---|
Розробник |
[http://www.symfony-project.org/ www.symfony-project.org, nsio-labs.com/ Sensio Labs] |
Перший випуск | 22 жовтня 2005 |
Репозиторій | github.com/symfony/symfony |
Операційна система | крос-платформовий |
Мова програмування | PHP[1] |
Ліцензія | MIT License |
Вебсайт | symfony.com |
Symfony у Вікісховищі |
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 (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 застралі функції.[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 роки | Травень 2016 | Перший реліз 2 версії фреймворка із довготривалою підтримкою | |
2.4 | Листопад 2013 | 8 місяців | Липень 2014 | Перший реліз 2.х гілки зі зворотною сумісністю | |
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
- 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 розробників(рос.)
Виноски
- The symfony Open Source Project on Open Hub: Languages Page — 2006.
- What is Symfony
- Symfony Web PHP Framework » Blog » Two years of symfony
- The symfony and Doctrine book
- http://symfony-reloaded.org/
- Symfony Blog - About symfony 1.3 and 1.4
- Symfony blog - Why will Symfony 2.0 finally use PHP 5.3?
- Symfony blog - Symfony2 release
- Learn symfony: A Beginner's Tutorial
- Symfony framework forum: General discussion => New symfony tagline brainstorming. Архів оригіналу за 22 грудня 2008. Процитовано 28 жовтня 2011.
- Comments by Sensio Owner