Symfony

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索
Symfony
Symfony.gif
Symfony project.png
Symfonyのデフォルトプロジェクト
開発元 Sensio Labs
最新版 2.4.5 / 2014年5月23日(5か月前) (2014-05-23
プラットフォーム クロスプラットフォーム
種別 Webアプリケーションフレームワーク
ライセンス MIT License
公式サイト http://www.symfony.com
テンプレートを表示

SymfonyModel View Controller (MVC) パラダイムに従ったWebアプリケーションフレームワークで、PHPで書かれている。symfony-project.com というサイトは2005年10月18日に立ち上げられた[1]

目的[編集]

Symfony はWebアプリケーションの開発と保守の効率化を目的とし、よく繰り返されるコーディングを代替する。UNIXLinuxMac OS XMicrosoft Windowsで動作し、利用するにはWebサーバと PHP 5 をインストールしておく必要がある。オブジェクト関係マッピングとしては、PropelDoctrineをサポートしている[2]

PHP acceleratorをサポートする環境ではSymfonyの性能オーバーヘッドは低いが、共有ホスティング環境などで PHP accelerator が使えない場合、性能オーバーヘッドが高くなる。

企業での頑健なアプリケーションの構築を目的とし、ディレクトリ構造から外部ライブラリまで、コンフィギュレーションについての完全な制御を開発者に与えることを目指し、ほとんど全てをカスタマイズ可能としている。企業での開発ガイドラインに適合させるため、Symfony にはテストやデバッグやドキュメンテーションのためのツール群も同梱している[要出典]

技術[編集]

Symfony は Model View Controller などのよく知られたデザインパターンを採用している。特に Ruby on Rails などの他のWebアプリケーションフレームワークに影響を受けている。

また、以下のようなPHP関連のオープンソースプロジェクトの成果をフレームワークの一部として多数利用している。

  • PropelまたはDoctrine - オブジェクト関係マッピング
  • Creole - データベース抽象化レイヤー(v1.0、v1.1。Propelの場合)
  • PDO - データベース抽象化レイヤー(v1.1。Doctrine または Propel 1.3)
  • PRADO - イベント駆動型PHP Webアプリケーションフレームワーク。国際化対応
  • Spyc - YAMLサーバ (v1.2)
  • Pake - コマンドラインヘルパー (v1.0)

また、以下のようなオープンソースJavaScriptフレームワーク/ライブラリも含んでいる。

  • PrototypeまたはjQuery - JavaScriptフレームワーク(v1.0とv1.1)
  • script.aculo.us - 視覚効果用(v1.0とv1.1)
  • Dynarch.com - DHTMLカレンダー(v1.0とv1.1)
  • TinyMCE - リッチテキスト編集(v1.0)
  • FCKeditor - リッチテキスト編集
  • TCPDF - PDF文書作成ライブラリ

Symfony 1.2 では、デフォルトではJavaScriptフレームワークは選択されていない。開発者がJavaScriptライブラリを選んで実装する必要がある。

スポンサー[編集]

Symfonyのスポンサーはフランスの Sensio Labs である[3]。このため、初期の名称は「Sensio Framework」であった[4]。そして、各クラス名には「Sensio Framework」の頭文字である"sf" というプレフィックスが付いているが、オープンソースのフレームワークにすることが決まり、議論の結果プレフィックスをそのまま生かせる 「Symfony」 に改称された[5]

応用例[編集]

他にも多数のサイトでSymfonyが使われている[9]

開発ロードマップ[編集]

予定されている新バージョンでは、以下の機能をサポートする予定である。

  • オブジェクト間の結合度を弱めるようクラスを見直し、使いやすくする(Zend Framework と似た方針)
  • ルーティング規則・オブジェクトをREST原則に従うようにする。

既に以下の機能はサポートされた。

  • 新たなフォーム生成フレームワーク(v1.2で導入)
  • adminジェネレータ(Ruby on Rails の scaffolding に相当)
  • ORMをプラグインとして独立させ、選択可能にする。

リリース[編集]

意味
旧リリース、サポート無し
旧リリース、サポート有り
現リリース
将来のリリース
バージョン リリース日 サポート 対応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は廃止予定のすべての機能(完全な互換性レイヤーを含めて)が削除されている。[10]
1.4 2009年12月 3年 5.2以降 2012年11月
2.0 2011年7月 5.3.2以降 2013年3月 最終的に、Symfony 2.0.23までバージョンアップされている。[11]
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月

関連項目[編集]

脚注・出典[編集]

参考文献[編集]

  • 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

外部リンク[編集]