Symfony は Model View Controller (MVC) パラダイムに従ったWebアプリケーションフレームワークで、PHPで書かれている。symfony-project.com というサイトは2005年10月18日に立ち上げられたsymfony Web PHP Framework » Blog » Two years of symfony。
目的 SymfonyはWebアプリケーションの開発と保守の効率化を目的とし、よく繰り返されるコーディングを代替する。UNIX、Linux、macOS、Windowsで動作し、利用するにはWebサーバとPHPの他パッケージ管理にComposerを利用する。オブジェクト関係マッピングとしては、PropelとDoctrineをサポートしているSymfony Plugins。
技術 SymfonyはModel View Controllerなどのよく知られたデザインパターンを採用している他、依存性の注入による必要オブジェクトの解決を行う。 また、ルーティングには設定ファイルで行う方法の他、アノテーションなどを利用する事が出来る。Spring FrameworkやRuby on Railsなどの他のWebアプリケーションフレームワークに影響を受けている。
また、以下のようなPHP関連のオープンソースプロジェクトの成果をフレームワークの一部として多数利用している。 または - オブジェクト関係マッピング PHPUnit - 単体テストフレームワーク Twig - テンプレートエンジン Monolog - PSR-3に準拠するロギングライブラリ Swift Mailer - Eメールライブラリ Composer - パッケージ管理
スポンサー SymfonyのスポンサーはフランスのSensio LabsであるLearn symfony: A Beginner's Tutorial。このため、初期の名称は「Sensio Framework」であったsymfony framework forum: General discussion ⇒ New symfony tagline brainstorming。そして、各クラス名には「Sensio Framework」の頭文字である "sf" というプレフィックスが付いているが、オープンソースのフレームワークにすることが決まり、議論の結果プレフィックスをそのまま生かせる「Symfony」に改称されたComments by Sensio Owner。
応用例 Askeet - SymfonyのデモのためのオープンソースQ&Aサイト DeliciousSymfony Blog - Delicious Preview built with Symfony Yahoo! BookmarksSymfony Blog - Yahoo! Bookmarks uses Symfony Dailymotion - 2009年2月に一部をSymfonyに移行し、移行継続中Symfony Blog - Dailymotion, powered by Symfony Drupal Laravel
他にも多数のサイトならびにフレームワークでSymfonyまたはそのコンポーネントの一部が使われているSymfony-powered sites。
開発ロードマップ Symfony 4.0 世代では Flex という構成ツールが標準で利用されるようになり、必要な機能をレシピとして構成するようになった。HTTPメッセージのやり取りに集中したマイクロフレームワークとしての利用も可能になり、それに伴いマイクロフレームワーク Silex の開発が終了となっている。
リリース
色 意味 赤 サポート終了 緑 サポート中 青 将来のリリース
バージョン リリース日 サポート 対応PHPバージョン 保守終了予定 備考 1.0 2007年1月 3年 5.0以降 2010年1月 1.1 2008年6月 1年 5.1以降 2009年6月 セキュリティ関連パッチは2010年6月まで適用される。 1.2 2008年12月 1年 5.2以降 2009年12月 1.3 2009年12月 1年 5.2以降 2010年12月 1.4は1.3の長期サポート版である。2つのバージョンの違いは古いバージョンの symfony との後方互換性があるかどうかである。1.3の開発期間に廃止予定になった古いバージョン(1.0~1.2)の後方互換性レイヤーとすべての機能を1.3は利用できる。1.4は廃止予定のすべての機能(完全な互換性レイヤーを含めて)が削除されている。 1.4 2009年12月 3年 5.2以降 2012年11月 2.0 2011年7月 5.3.2以降 2013年3月 最終的に、Symfony 2.0.23までバージョンアップされている。 2.1 2012年9月 8か月 5.3.3以降 2013年6月 2.2 2013年3月 8か月 5.3.3以降 2013年11月 2.3 2013年6月 3年 5.3.3以降 2016年5月 長期サポート版 2.4 2013年11月 8か月 5.3.3以降 2014年7月 2.5 2014年5月 14か月 5.3.3以降 2015年7月 2.6 2014年11月 14か月 5.3.3以降 2016年1月 2.7 2015年5月 3年 5.3.9以降 2018年5月 長期サポート版 2.8 2015年11月 3年 5.3.9以降 2018年11月 長期サポート版 3.0 2015年11月 8か月 5.5以降 2016年6月 3.1 2016年5月 8か月 5.5.9以降 2017年1月 3.2 2016年11月 8か月 5.5.9以降 2017年6月 3.3 2017年5月 8か月 5.5.9以降 2018年1月 3.4 2017年11月 3年 5.5.9以降 2020年11月 長期サポート版 4.0 2017年11月 8か月 7.1.3以降 2018年7月 HHVMのサポートを終了 4.1 2018年5月 8か月 7.1.3以降 2019年1月 4.2 2018年11月 8か月 7.1.3以降 2020年1月 4.3 2019年5月8か月7.1.3以降2020年7月 4.4 2019年11月 3年7.1.3以降2023年11月長期サポート版 5.02019年11月8か月7.2.5以降2020年7月 5.12020年5月8か月7.2.5以降2021年1月 5.22020年11月8か月7.2.5以降2021年7月 5.32021年5月8か月7.2.5以降2022年1月 5.42021年11月3年7.2.5以降2024年11月長期サポート版 6.02021年11月8か月8.0.2以降2022年7月 6.12022年5月8か月8.1.0以降2023年1月6.22023年11月8か月8.1.0以降2023年7月6.32023年5月8か月8.1.0以降2024年1月6.42023年11月3年8.1.0以降2027年11月 長期サポート版(バグフィックスは2026年11月まで)7.02023年11月8か月8.2.0以降2024年7月7.12024年5月 8か月8.2.0以降2025年1月7.22024年11月8か月8.2.0以降2025年7月
脚注
関連項目 Webアプリケーションフレームワーク Twig - Symfony2がデフォルトとするテンプレートエンジン Laravel - Symfonyコンポーネントを実装の一部に利用するWebアプリケーションフレームワーク Silex - Symfonyコンポーネントを実装の一部に利用するWebアプリケーションフレームワーク
参考文献 Potencier, Fabien and Zaninotto, François. (2007). The Definitive Guide to symfony. Apress. . Potencier, Fabien. (2009). Practical symfony (2009). Sensio Labs Books. Doctrine edition, , Propel edition, 978-2918390077
外部リンク Symfony 2.0 Symfony Project Symfony 1.4 Documentation Symfonians.net - Symfonyを使って構築されている当プロジェクトのコミュニティ SymfonyLab.com - Symfonyの小技集とフリーなプラグイン集
日本Symfonyユーザー会