Symfony
![]() | |
![]() Symfonyのデフォルトプロジェクト | |
開発元 | Sensio Labs |
---|---|
最新版 | 7.1.2[1] / 2024年6月28日 |
リポジトリ | |
プログラミング 言語 | PHP |
プラットフォーム | クロスプラットフォーム |
種別 | Webアプリケーションフレームワーク |
ライセンス | MIT License |
公式サイト | symfony |
Symfony は Model View Controller (MVC) パラダイムに従ったWebアプリケーションフレームワークで、PHPで書かれている。symfony-project.com というサイトは2005年10月18日に立ち上げられた[2]。
目的
[編集]SymfonyはWebアプリケーションの開発と保守の効率化を目的とし、よく繰り返されるコーディングを代替する。UNIX、Linux、macOS、Windowsで動作し、利用するにはWebサーバとPHPの他パッケージ管理にComposerを利用する。オブジェクト関係マッピングとしては、PropelとDoctrineをサポートしている[3]。
技術
[編集]SymfonyはModel View Controllerなどのよく知られたデザインパターンを採用している他、依存性の注入による必要オブジェクトの解決を行う。[4] また、ルーティングには設定ファイルで行う方法の他、アノテーションなどを利用する事が出来る。Spring Framework[5]やRuby on Railsなどの他のWebアプリケーションフレームワークに影響を受けている。
また、以下のようなPHP関連のオープンソースプロジェクトの成果をフレームワークの一部として多数利用している。
- PropelまたはDoctrine - オブジェクト関係マッピング
- PHPUnit - 単体テストフレームワーク[6]
- Twig - テンプレートエンジン
- Monolog - PSR-3に準拠するロギングライブラリ
- Swift Mailer - Eメールライブラリ
- Composer - パッケージ管理
スポンサー
[編集]SymfonyのスポンサーはフランスのSensio Labsである[7]。このため、初期の名称は「Sensio Framework」であった[8]。そして、各クラス名には「Sensio Framework」の頭文字である "sf" というプレフィックスが付いているが、オープンソースのフレームワークにすることが決まり、議論の結果プレフィックスをそのまま生かせる「Symfony」に改称された[9]。
応用例
[編集]- Askeet - SymfonyのデモのためのオープンソースQ&Aサイト
- Delicious[10]
- Yahoo! Bookmarks[11]
- Dailymotion - 2009年2月に一部をSymfonyに移行し、移行継続中[12]
- Drupal[13][14]
- Laravel[15]
他にも多数のサイトならびにフレームワークでSymfonyまたはそのコンポーネントの一部が使われている[16][17]。
開発ロードマップ
[編集]Symfony 4.0 世代では Flex という構成ツールが標準で利用されるようになり、必要な機能をレシピとして構成するようになった。HTTPメッセージのやり取りに集中したマイクロフレームワークとしての利用も可能になり、それに伴いマイクロフレームワーク Silex の開発が終了となっている。[18]
リリース
[編集]色 | 意味 |
---|---|
赤 | サポート終了 |
緑 | サポート中 |
青 | 将来のリリース |
バージョン | リリース日 | サポート | 対応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は廃止予定のすべての機能(完全な互換性レイヤーを含めて)が削除されている。[19] |
1.4 | 2009年12月 | 3年 | 5.2以降 | 2012年11月 | |
2.0 | 2011年7月 | 5.3.2以降 | 2013年3月 | 最終的に、Symfony 2.0.23までバージョンアップされている。[20] | |
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.0 | 2019年11月 | 8か月 | 7.2.5以降 | 2020年7月 | |
5.1 | 2020年5月 | 8か月 | 7.2.5以降 | 2021年1月 | |
5.2 | 2020年11月 | 8か月 | 7.2.5以降 | 2021年7月 | |
5.3 | 2021年5月 | 8か月 | 7.2.5以降 | 2022年1月 | |
5.4 | 2021年11月 | 3年 | 7.2.5以降 | 2024年11月 | 長期サポート版 |
6.0 | 2021年11月 | 8か月 | 8.0.2以降 | 2022年7月 | |
6.1 | 2022年5月 | 8か月 | 8.0.2以降 | 2023年1月 |
脚注
[編集]- ^ “Releases” (英語). Symfony Blog. 2024年6月28日閲覧。
- ^ symfony Web PHP Framework » Blog » Two years of symfony
- ^ Symfony Plugins
- ^ “The DependencyInjection Component (Symfony Docs)” (英語). symfony.com. 2019年9月11日閲覧。
- ^ “Open-Source cross-pollination (Symfony Blog)” (英語). symfony.com. 2020年6月6日閲覧。
- ^ “Testing (Symfony Docs)” (英語). symfony.com. 2019年9月11日閲覧。
- ^ Learn symfony: A Beginner's Tutorial
- ^ symfony framework forum: General discussion ⇒ New symfony tagline brainstorming
- ^ Comments by Sensio Owner
- ^ Symfony Blog - Delicious Preview built with Symfony
- ^ Symfony Blog - Yahoo! Bookmarks uses Symfony
- ^ Symfony Blog - Dailymotion, powered by Symfony
- ^ “Why We Use Symfony” (英語). Drupal.org (2021年3月23日). 2021年11月10日閲覧。
- ^ “Drupal (Projects using Symfony)” (英語). symfony.com. 2021年11月10日閲覧。
- ^ “Laravel (Projects using Symfony)” (英語). symfony.com. 2021年11月20日閲覧。
- ^ Symfony-powered sites
- ^ “Projects using Symfony Components” (英語). symfony.com. 2021年11月10日閲覧。
- ^ “The end of Silex (Symfony Blog)” (英語). symfony.com. 2019年9月11日閲覧。
- ^ [1]
- ^ [2]
関連項目
[編集]- Webアプリケーションフレームワーク
- Twig - Symfony2がデフォルトとするテンプレートエンジン
- Laravel - Symfonyコンポーネントを実装の一部に利用するWebアプリケーションフレームワーク
- Silex - Symfonyコンポーネントを実装の一部に利用するWebアプリケーションフレームワーク
参考文献
[編集]- Potencier, Fabien and Zaninotto, François. (2007). The Definitive Guide to symfony. Apress. ISBN 1-59059-786-9.
- Potencier, Fabien. (2009). Practical symfony (2009). Sensio Labs Books. Doctrine edition, ISBN 978-2-918390-06-0, Propel edition, 978-2918390077
外部リンク
[編集]- Symfony 2.0
- Symfony Project
- Symfony 1.4 Documentation
- Symfonians.net - Symfonyを使って構築されている当プロジェクトのコミュニティ
- SymfonyLab.com - Symfonyの小技集とフリーなプラグイン集
- Symfony - Curlie
- 日本Symfonyユーザー会