Help us understand the problem. What is going on with this article?

PHPフレームワークのPHP7対応状況

More than 3 years have passed since last update.

こんにちは。セカイエの大西です。
この記事はセカイエ Advent Calendar 2015 16日目の記事です。

はじめに

12月3日にPHP7がリリースされて、およそ2週間経ちましたね。
弊社システムはPHP5 + CakePHP2系で構築されているのですが、できればPHP7に移行してPHP7の恩恵を受けたいと思ってます。
※パフォーマンスの改善とか!!

そこで、弊社で利用しているCakePHP2系を含め、PHPの各フレームワークがPHP7にアップデートしてそもそも動作するのか、っていうのを簡単に調査してみました。

あくまで、マニュアルのチュートリアルに載っているプログラムを動かしてみた調査内容なので、システムによっては今回の調査結果と違う結果になることもありますので、ご了承ください。

調査対象

framework version
CakePHP 2.5.6
CakePHP 3.0.15
Laravel 5.1.26
Symfony 2.8
Symfony 3.0
CodeIgniter 3.0.3

バージョンの選定に関してはなんとなくで決めました。
時間あれば他のフレームワークも調査してみたいと思います。

調査結果

framework version result
CakePHP 2.5.6 NG
CakePHP 3.0.15 OK
Laravel 5.1.26 OK
Symfony 2.8 OK
Symfony 3.0 OK
CodeIgniter 3.0.3 OK

2016/01/15 追記
@okinaka さんから情報をいただきました。
CakePHP2.x系は 2.8 から PHP7 対応予定のようです。
リリースされたら試してみます。

考察

なんと動作しなかったのはCakePHP2系だけでした。。
理由としては、CakePHP2系には「Stringクラス」が存在するのですが、
PHP7から「型と同じクラス名」を作れないという変更があるので、それに引っかかって例外が発生している状態です。

弊社のシステムがCakePHP2で構築していてPHP7にアップデートすると動作しなかったので、他のフレームワークもほどんど動かへんのちゃう?って思って調査したんですが。。
まさかの結果。CakePHP2のハミゴっぷり┐(´д`)┌

まあ、後方互換性がしっかりしているPHP7が素晴らしいのでしょう!

さいごに

パフォーマンスが上がると期待できるので、早くCakeのバージョンを上げるなり、フレームワークを置き換えてPHP7対応にしたいなと、思いながらの調査でした。

この記事はセカイエ Advent Calendar 2015 16日目の記事でした。
明日は中島さんです。

ほな!

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away