SymfonyはPHPに活用されるオープンソースWebアプリケーションフレームワークです。
Mojaviから派生したものでRuby用フレームワークRuby on Railの影響を色濃く受けて作られたフレームワークとして有名です。この記事ではSmfonyを理解するために初心者でも分かる歴史、特徴、基礎知識などを簡単に解説していきます。
SymfonyとはPHPに活用される『Sensio Labs』によって開発されたオープンソースWebアプリケーションフレームワークです。2007年1月に誕生しWebアプリケーションの開発速度の向上とメンテナンス量の軽減を目的に作成されました。特徴としては目的の通り、開発効率が高く、セキュリティの設定も最小限に済むなどが挙げられ世界的にも注目を集めているフレームワークです。
PHPとはラスマス・ラードフ氏によって1995年に開発されたオープンソースのサーバーサイド言語です。動的なWebページを生成することができるプログラミング言語として全世界で親しまれております。HTMLに埋め込むことが出来ることからWebシステム開発で使用される機会が多いです。
PHPというその名称には「Hypertext PreprocessorPHPはHTMLのプリプロセッサである」という意味が込められております。特徴は『動作確認が簡単であること』や『HTMLの中で簡単にコードを動かせる』といったことが挙げられます。またPHPはインタプリタ言語ですのでプログラムを実行する際にコンパイルが不要でソースコードの修正をした場合、即座に修正が反映されます。Webサービスを開発するプログラミング言語としてPHPは世界的にトップクラスの人気を集めております。
PHPのメリット・基礎知識について解説された記事はこちら>>
『PHPにおけるシステム開発を簡単に行えるように用意された枠組みのこと』
PHPフレームワークとはPHPにおけるシステム開発のプログラミングを効率的に実施するために汎用的な機能群をまとめ、システムの骨組みとなるテンプレートまで用意してくれる枠組みのことです。フレームワークを活用することでプログラミングにおける記述コードを最小限に抑えることが出来ます。PHPフレームワークの代表的な種類としてCakePHP、FuelPHP、Laravelなどが挙げられます。
PHPフレームワーク人気どころ8選ついて解説された記事はこちら>>
Symfonyの読み方は『シンフォニー』です。名前の由来はSymfonyのスポンサーであるフランスの「Sensio Labs」にあります。初期の名称は「Sensio Framework」でした。それから各クラス名には「Sensio Framework」の頭文字である”sf” というプレフィックスが付いておりましたが、オープンソースのフレームワークにすることが決定。議論を重ねた結果プレフィックスをそのまま生かせる 「Symfony」という名称に改変されました。
Symfonyは『Sensio Labs』によってオープンソースWebアプリケーションフレームワークとして2007年1月に初版がリリースされました。起源を辿ると『symfony-project.com』というサイトが2005年10月18日に立ち上げられており、世に情報が公開され始めたのはこの頃からとなります。初期の名称は「Sensio Framework」でしたが、「Symfony」という名称に改変され世に広まっていきました。2007年のリリース以来、数多くのバージョンアップを重ねて2020年10月現在の最新バージョンは『Symfony 5.1』となっております。バージョンアップについて簡単に以下の年表にまとめておりますのでご覧ください。
年代 | 内容 |
2007年1月 | Symfony 1.0 |
2011年7月 | Symfony 2.0 |
2015年11月 | Symfony 3.0 |
2017年11月 | Symfony 4.0 |
2019年11月 | Symfony 5.0 |
Symfonyの特徴を見ていきましょう。
SymfonyはRuby on Railsの影響を色濃く受けているという特徴があります。他にもMVCを採用したフレームワークであるMojaviの思想も引き継いでいます。
Symfonyはバンドルという概念を持つ特徴があります。アプリケーション上にバンドルという再利用可能なモジュールを作成し、そこにMVC(Mode/View/Controller)などのコードを書きます。
Symfonyは大規模な開発に向いているという特徴があります。スケーラビリティに優れており、開発が大規模になることが想定される案件において高いパフォーマンスを出せます。実際に『Yahoo!』もSymfonyを活用した開発を積極的に実施しております。
Symfony以外のPHPによるシステム開発に用いられる代表的なフレームワークを紹介させていただきます。
LaravelとはPHPに活用されるテイラー・オットウェル(Taylor Otwell)氏によって開発されたオープンソースのWebアプリケーションフレームワークです。2011年6月に誕生し、現在PHPのフレームワークにおいて最も注目度の高い人気のフレームワークとなっております。Laravelの特徴は開発初心者でもWebアプリケーションの構成を簡単に取り組めてしまうほどのハードル低さが挙げられます。Laravelのその名の由来は『ナルニア国物語』に登場するナルニア国の王都、ケア・パラベルにちなんだものと言われております。
FuelPHPとはPHPに活用されるFuelPHP developer teamによって開発されたオープンソースWebアプリケーションフレームワークです。2010年10月に誕生しHMVCというソフトウェア設計モデルが採用されております。特徴としては比較的新しいフレームワークということもあり様々な有名フレームワークの良いところを継承して、問題点を解決するフレームワークとして注目を集めております。学習コストも低く、スピーディーに開発に取り掛かることが出来ることから比較的小規模な案件に向いているとされております。
CakePHPとはPHPに活用されるcakeソフトウェア財団によって開発されたオープンソースWebアプリケーションフレームワークです。2005年3月に誕生しCakePHPの名の由来は、ケーキを焼くように手軽に開発するというもので公式ロゴにもケーキが採用されております。CakePHPの特徴は誰でも素早く快適に開発を行えることを目指して生み出されたプロトタイピング型のフレームワークとなっております。Ruby on Railsの概念を多数採用しており、Rails流の高速開発とPHP特有の機動性を兼ね備えております。
Symfonyを理解するために初心者でも分かる歴史、特徴、基礎知識などを簡単に解説させていただきました。Symfonyを一言で表すと『大規模な開発を得意とするPHP向けオープンソースWebアプリケーションフレームワーク』です。Symfonyは「Ruby on Railsの影響を色濃く受けている」「バンドル」「大規模な開発に向いている」という特徴が挙げられます。Symfonyについてこの記事に書かれている最低限の内容は理解をしておくようにしましょう。