キャリアバイトコラム - インターン・インターンシップ情報キャリアバイト

エンジニア

PHPを始めたばかりの学生へ!代表的な7つのPHPフレームワークの違いと特徴

  • このエントリーをはてなブックマークに追加
PHPを始めたばかりの学生へ!代表的な7つのPHPフレームワークの違いと特徴 比較的簡単にWebアプリケーションを構築することができるPHP。

プログラミングを始めたいと思った人が、初めて触るスクリプト言語としても人気です。

PHPに限ったことではないですが、プログラミング言語にはフレームワークと呼ばれる、アプリケーションソフトを開発する際に必要とされる汎用的な機能をまとめて提供してくる便利なソフトウェアが存在します。

いわゆるアプリケーション開発の土台ですね。

フレームワークは様々な種類があり、それぞれに特徴もあったりするので、PHPを始めたばかりの学生にとってはどれを選んだらいいのかわからないのではないでしょうか。

今回は、PHPにフォーカスし、各フレームワークの違いや特徴などを紹介したいと思います。

フレームワークのメリットとデメリット


フレームワークを使用する際は、最初にメリット・デメリットをしっかりと理解しておく必要があります。
大まかにまとめると、下記のようなメリットとデメリットがあります。

【メリット】
・命名規則やディレクトリ構成などの規則が統一されている為、複数人での開発や大規模な開発がやりやすい
・コードの再利用性が高く、効率的な開発ができる
・規則や制約があるためセキュリティや保守性が高くなる

【デメリット】
・規約や手順などフレームワーク毎に覚えなければならいルールがある為、習得に時間がかかる
・フレームワークは、便利である反面、枠組みに沿ったカタチで開発が必要になる為、枠組みから外れた機能の拡張を行いにくい

以上のようなデメリットもあるのですが、デメリットを踏まえても、効率的に開発ができるフレームワークの存在は重要です。

それでは、各フレームワークを見ていきましょう。

Symfony


1379056964-UiThU0BOAg
Symfonyは処理速度が速いことで人気のフレームワーク「Ruby on Rails(スクリプト言語であるRubyで使用されるフレームワーク)」の影響を強く受けており、また今回は紹介しませんが、PHPのフレームワークの1つである「Mojavi」の「MVC機能」も引き継いでいます。

Symfonyはオープンソースのソフトウェアであり、開発はgithub上で行われおり、積極的にアップデートされています。

2つのフレームワークの利点を活かしたことで、高い安定性とセキュリティを最小限の設定で発揮できます。
またプラグインシステムが優れており、他のフレームワークのコンポーネントを使用できたり、他のフレームワークとくらべて比較的手軽に機能拡張ができたりといった強みがあります。
他にも、ファイルを使ったりクラスを書いたりといったことも簡単に行えたりと、Webアプリケーションにおける開発の手間が最小限で、かつ効率よく迅速に開発が行えます。

そのため、大規模ウェブアプリケーションの開発に向いており、世界中で利用されています。

Symfony公式サイト(英語)
Symfony日本語情報サイト

CakePHP


1379056788-T4jwxHHnJk
「あらゆるレベルのPHPユーザーが素早く快適に開発を行えること」を目的に開発されたフレームワークで、Symfony同様、Ruby on Railsの影響を強く受けています。

Symfonyと比べると比較的シンプルであり、ちょっとしたプログラムでも効率的に対応できたりといった強みがあります。
そのため、個人や法人問わず、小規模、中規模ウェブアプリケーションを中心に広く使用されています。

PHP5だけでなく比較的利用の多いPHP4でも動作をさせることができたり、PEARをはじめとしたライブラリの機能を必要としていないので、ライブラリを利用できないケースでも問題なく動作させることができるのも特徴です。勿論、ライブラリは別途組み込むことも可能です。

また他のフレームワークに比べ日本語ドキュメントやチュートリアルが豊富で習得までの時間が比較的短いため、初心者でもとっつきやすいフレームワークとなっています。

日本においても、世界中においても、最も多くのWebアプリケーションに導入されています。

CakePHP公式サイト(英語)
CakePHP日本語ドキュメント

Zend Framework


1379057142-XOtGBhfagL
Zend Frameworkは階層がなかったり、柔軟性や拡張性の高さだったりといったところから大規模アプリケーションでも使いやすいというところまで、先に紹介したSymfonyに比較的よく似ています。

規則がそこまで厳しくなく、他のフレームワークに比べ柔軟性もあり、既存のリソースを使いやすいといったところは勿論、
「コンポーネント」と呼ばれるクラスライブラリが単独で呼び出すことができるのも特徴です。

またCakePHP同様日本語の情報が充実しているのもありがたい点です。

最低限の条件さえ守っていれば、改変や再利用が自由で、かつ改変したコードも非公開にできるため、商用利用がしやすいのも良い点だといえます。

Zend Framework公式サイト(英語)

CodeIgniter


1379057329-DhydIY2BZn
CodeIgniterはなんといってもそのシンプルさが特徴でしょう。

シンプルな分、他のフレームワークと比べると機能は少ないのですが、規約もゆるく、構成も非常にわかりやすいため、初心者でも比較的とっつきやすいフレームワークではないでしょうか。

また軽量かつ高速である為、サイズが小さく、メモリやハードディスクの容量も少なくて済むので、レンタルサーバーでも扱いやすいというのも特徴の1つです。

以上の点から、比較的小規模のウェブアプリケーション開発に向いているといえます。

CodeIgniter公式サイト(英語)
日本CodeIgniterユーザー会

Kohana


1379057628-JpTjiQggkg
CodeIgniterから派生して作られたフレームワーク。
そのため、学習コストも低く、構成もシンプルです。

独自のファイルシステムによって全てにおいて拡張も可能であり、設定等も全く必要ありません。

しかし、日本語ドキュメントはほとんど存在せず。書籍もほぼ見つかりません。
公式ドキュメントはありますが、すべて英語です。

まだ情報は少ないですが、日本ユーザーの会はありますので、興味のある人は参考にしてみてはいかがでしょうか

Kohana日本ユーザ会

FuelPHP


1379057676-UkqJUZrF3S
CodeIgniterとKohanaを参考に作られたフレームワークです。2011年に最初のバージョンがリリースされた、他のフレームワークに比べて最新のフレームワークです。

軽量かつ高速で、規約も少ないので学習コストも低めです。
これからフレームワークを触りたい、最新のものが使いたいという人にはオススメです。

小・中規模サイトなら開発しやすいのではないでしょうか。

まだ書籍やドキュメントは充実していませんが、非常に注目されている為これからどんどん充実していくことでしょう。

FuelPHP公式サイト(英語)
FuelPHP日本語ドキュメント

Ethna


1379057793-uVO9K7T6v9
グリーのCTOである藤本真樹氏によって開発されたフレームワーク。現在はオープンソース化されています。

Webアプリケーションを効率的に開発することを目的とし、エラー処理や認証などの処理をすべてサポートしてくれるため、メインの機能の開発に集中できるという点が強みです。

非常に実用的なフレームワークであり、勿論GREEもEthnaで構築されています。

日本語ドキュメントも充実しています。

Ethna日本語ドキュメント

最後に


今回紹介した以外にも、様々なフレームワークは存在します。
興味があれば調べてみくださいね。

PHPを使ってWebサービスが作りたい学生へ


弊社が運営しております、長期実践型の有給インターンシップサイト「キャリアバイト」では、経験者・未経験者問わず、PHPエンジニアとして成長できる求人情報を多数掲載しています。

【PHPのインターンシップ求人情報】

  • このエントリーをはてなブックマークに追加

関連するおすすめ記事

民放5局の業績比較! 視聴率と業績の関連性はあるのか。
企業、業界、職種分析

民放5局の業績比較! 視聴率と業績の関連性はあるのか。

就活生におすすめ!上場している優良ベンチャー企業7選!
まとめ

就活生におすすめ!上場している優良ベンチャー企業7選!

インターンとアルバイトの違いは? インターンを行うことで得られること
インターンについて

インターンとアルバイトの違いは? インターンを行うことで得られること

中国におけるインターンシップの特徴は? 日本との違いは?
インターンについて

中国におけるインターンシップの特徴は? 日本との違いは?

「エンジニア」インターンで学べる4つのこと
エンジニア

「エンジニア」インターンで学べる4つのこと

【関西の営業インターン!】設立5年以内のIT系スタートアップベンチャー特集!
まとめ

【関西の営業インターン!】設立5年以内のIT系スタートアップベンチャ...