Symfony は Model View Controller (MVC) パラダイムに従ったWebアプリケーションフレームワークで、PHPで書かれている。symfony-project.com というサイトは2005年10月18日に立ち上げられた。
目的
SymfonyはWebアプリケーションの開発と保守の効率化を目的とし、よく繰り返されるコーディングを代替する。UNIX、Linux、macOS、Windowsで動作し、利用するにはWebサーバとPHPの他パッケージ管理にComposerを利用する。オブジェクト関係マッピングとしては、PropelとDoctrineをサポートしている。
技術
SymfonyはModel View Controllerなどのよく知られたデザインパターンを採用している他、依存性の注入による必要オブジェクトの解決を行う。 また、ルーティングには設定ファイルで行う方法の他、アノテーションなどを利用する事が出来る。Spring FrameworkやRuby on Railsなどの他のWebアプリケーションフレームワークに影響を受けている。
また、以下のようなPHP関連のオープンソースプロジェクトの成果をフレームワークの一部として多数利用している。
- PropelまたはDoctrine - オブジェクト関係マッピング
- PHPUnit - 単体テストフレームワーク
- Twig - テンプレートエンジン
- Monolog - PSR-3に準拠するロギングライブラリ
- Swift Mailer - Eメールライブラリ
- Composer - パッケージ管理
スポンサー
SymfonyのスポンサーはフランスのSensio Labsである。このため、初期の名称は「Sensio Framework」であった。そして、各クラス名には「Sensio Framework」の頭文字である "sf" というプレフィックスが付いているが、オープンソースのフレームワークにすることが決まり、議論の結果プレフィックスをそのまま生かせる「Symfony」に改称された。
応用例
- Askeet - SymfonyのデモのためのオープンソースQ&Aサイト
- Delicious
- Yahoo! Bookmarks
- Dailymotion - 2009年2月に一部をSymfonyに移行し、移行継続中
- Drupal
- Laravel
他にも多数のサイトならびにフレームワークでSymfonyまたはそのコンポーネントの一部が使われている。
開発ロードマップ
Symfony 4.0 世代では Flex という構成ツールが標準で利用されるようになり、必要な機能をレシピとして構成するようになった。HTTPメッセージのやり取りに集中したマイクロフレームワークとしての利用も可能になり、それに伴いマイクロフレームワーク Silex の開発が終了となっている。
リリース
脚注
関連項目
- 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ユーザー会



