symfonyとは、プログラミング言語のPHP上で動作するアプリケーションフレームワークです。本記事ではsymfonyフレームワークの概要を説明します。

その前に、フレームワークとは何か

の説明に入る前にフレームワークとは何でしょうかフレームワークとは日本語に直訳すると「骨組み/大枠」になります。プログラミング上でどういったことを指すかと言うと、「システムを開発を誰でも簡単にできるように予め作成されたプログラムのひな形(=プログラムの骨組み/大枠)」です。 

PHPの基礎スキルがある人でも、いざ、一定のレベル以上のサイトを作成しようとすると、一定の作業量が発生するのは避けられません。ということで、ある程度のスケールのウェブサイトを一定期間内に作る場合、必然的に複数開発者による共同作業になります。その際、どうしても並行作業となり、様々な問題が起きがちです。

その問題とは、片方のクリエイターの作業がもう片方の作業にうまく同期できずよけいな手間がかかる、コードを逐一記述しなければならない、さらに、当然、各自作業ペースが違うため、余計困難になり得ます。また何より、全体像の把握が非常に大きな課題となります。

フレームワーク」とは、こういった諸問題を解決し、アプリケーション開発を合理化するために生まれたものです。大半のフレームワークには開発支援のためのドキュメント、ツール、クラスライブラリなどが含まれています。例えば、Webアプリケーションフレームワークの場合には、テンプレート、データベース管理等が含まれています。

symfonyフレームワークの特徴

さて、本題であるsymfonyですが、これは、MITライセンスに基づくオープンソースのPHP5用フレームワークです。「ものぐさのためのプロフェッショナルウェブツール」というキャッチフレーズのもと公開されています。

  • 自動化された Web プロジェクト機能
  • 多言語(I18N)対応
  • 自動ページ分割 (パジネーション – pagination)、ソート、そしてフィルタリング
  • キャッシュ・コントロール
  • 幅広いOS、データベースに対応
  • スマートURL(設定ファイルによりURLの形式を決めることができる)
  • プラグインによる機能追加が可能

symfonyフレームワークはとても多機能で、開発者にとっては有力なツールです。日本語情報はいまのところ少なめですが、うまく活用していきたいところです。