Loading

PHP主要フレームワークの最新動向

Photo by Manuel Baldassarri

読者の皆様こんにちは、最近Go言語が気になるエンジニアのしょっさんです。

今回はPHP主要フレームワークの最新動向と銘打って、直近大きな動きのあるフレームワーク、CakePHP, Symfony, FuelPHP, Laravelの動向についてまとめてみます。

尚、本情報は執筆日のものであり状況によってはリリースが延期になったりリリース内容が変更されたりする可能性がありますのでご注意下さい。 

CakePHP

CakePHPは2013年からCakePHP3の正式リリースについて話が出ていましたが、2015年1月2日にはRC1がリリースされ、今年中にも正式リリースされるだろうと話題になっています。

主な変更点は以下になります。

  1. composerを標準搭載
  2. PHP5.4.16以上の対応
  3. ModelクラスがTableクラス(DBとの直接的なやりとり部分)とEntitiesクラス(取り出したデータの振る舞いの定義部分)の2つに分割
  4. ディレクトリ構成の変更
  5. Validateの使用方法の変更
  6. bakeされたページのデザイン等変更
  7. PSR-2の採用
  8. ORM関連の改善
    (ModelクラスがTableクラス(DBとの直接的なやりとり部分)とEntitiesクラス(取り出したデータの振る舞いの定義部分)の2つに分割、等)
  9. 新しいエラーページ

大きな変更点としてはORMの部分でしょうか。
独自のORMを組み込んでおり、上記の8.の変更などがありますので慣れるまでが一苦労ですね。

また新しいエラーページについては、以前のカラフルなエラーページとは打って変わっておしゃれなエラーページになりました。前と比べると見やすいですね!

 

CakePHPの今後のロードマップについては以下のサイトに書かれています。
https://github.com/cakephp/cakephp/wiki/3.1-Roadmap

Symfony

Symfonyはver2.3のリリースから2年を経てLTSとなるver2.7が2015年5月にリリースされます。
更に11月には、今まで対応PHPバージョンが5.3.3以降だったのを大きく変更させ5.5以降としたメジャーバージョンアップのver3.0がリリースされる予定です。
Symfony2→3へのバージョンアップでの主な変更点は以下になります。

  1. PHP5.5以上の対応
  2. PSR-3の採用
  3. アーキテクチャの間違いを修正
  4. 再利用性の向上を目指した分離

大人しめのバージョンアップですがまだ先のリリースになるので、今後上記以上の変更点が出ること必至です。

PHPの対応バージョンとして5.5以上としていますが、Symfonyでは最低バージョンをどこからにするか?というのをユーザに投票させたところ以下の様な結果になったそうです。

僅差で5.6.xが入り込んでいますね。
リリース日がまだ先ということで5.6.xでも良かったのでは?と個人的には思ってしまいます。

Symfonyのロードマップについては以下のサイトに書かれています。
http://symfony.com/roadmap

FuelPHP

FuelPHPはversion2のα版が2015年1月1日にリリースされ、composerの対応やディレクトリ構造の見直し、対応PHPバージョンを5.5以降とするなどの変更がなされています。

http://fuelphp.com/blogs/2014/11/first-v2-alpha

主な変更点は以下になります。

  1. PHP5.5以上の対応(以前は5.4以上とアナウンスされていました)
  2. ディレクトリ構造の変更
  3. PSR-0,PSR-1の採用
  4. QueryBuilderとORMの改良
  5. アプリケーションの概念を導入
  6. app,packages,modulesの廃止
  7. version1との互換性

目玉となるのはアプリケーションの概念を導入したことでしょう。
これによって1つのプロジェクトで複数のアプリケーションを運用出来るようになり、
さらに再利用性の高いモジュールをその複数のアプリケーションで使いまわせるようになります。

また、version1との互換性があるということで移行コストが少なくなり良いですね。

開発陣が掲載しているロードマップによると変更になる可能性の高いモジュールが多々あるので、
これから正式リリースまで大きく変更になる可能性があります。
http://fuelphp.com/roadmap

Laravel

Laravelは2015年1月中にメジャーバージョンアップとなるver5.0が正式リリースされるという話がありますが、現在も開発者によって手が加えられており正式リリースは1月以降になるだろうと言われています。

主な変更点は以下になります。

  1. PHP5.4以上の対応
  2. ディレクトリ構造の変更
  3. Webアセット管理機能の導入
  4. ファイルジェネレータの改良
  5. ファイルの保存先にWebストレージが使えるように変更
  6. ユーザ認証のパッケージをデフォルトでサポート

Webアセット管理機能としてgulpベースのものが導入されるなど、他のフレームワークよりフロントエンド面のサポートで一歩進んでいる印象を受けます。
また、ファイルの保存先としてWebストレージに対応するなどPHPフレームワークの中でもモダン開発を見据えていることが素晴らしいです。
以前はFacadeの廃止や、アノテーションが使えるようになるなどありましたが、
現状そこについても変更に次ぐ変更があるため、変更点として含めませんでした。

Laravelには正式なロードマップがありませんので、リリース日など現状を知りたい場合は開発者のTayler OtwellさんのTwitterアカウントをフォローするのがよいでしょう。
https://twitter.com/taylorotwell 

まとめ

全体的にcomposerの対応、PHP5.5以降の対応が主なバージョンアップ理由のようです。
5.5以下の後方互換を切っているフレームワークがほとんどですので、業務で使用している場合は移行コストもかかりアップデートし辛い状況にはなっています。
ただし、アップデートで得られる恩恵は大きい場合が多いですので、出来ればアップデートに対応していくことが最善かと思います。

今回ご紹介したフレームワークのリリース日などの情報を簡単にまとめると以下になります。

 

フレームワークに限らず2015年は11月にPHP7のリリースも控えていますので、これまで以上にPHP界隈が盛り上がりそうな予感がしています。

著者アイコン

著者しょっさん

プログラマっぽい人。

関連記事