【PHPエンジニア必見】PHP7のメリット・デメリットまとめ

Businessman Using Laptop Working Thinking Concept

そもそもPHP7って?

PHP7は現時点(2017年)における最新のPHPのバージョンとなります。PHPでは5系が10年近くに渡り使われていましたが、ようやく次のメジャーバージョンアップとして7系がリリースされました。ちなみにPHP6がスキップされていますが、これはPHP6で当初予定されていた内容がPHP5のマイナーバージョンアップによって対応されてしまったことから、6系のバージョンアップは不要という判断がされた経緯があるからです。

逆に言うとPHPは5系のマイナーバージョン間でかなり大きな変更が加えられているということもできます。たとえば5.1系と5.3系にも大きな違いがありますし、5系の最新バージョンである5.6系にも大きな変更が加わっています

その意味ではようやく5系に一区切りがつき、新しいメジャーバージョンの基でPHPの進化が開始したと言ってもよいでしょう。

この記事ではそんなPHP7のメリット・デメリットについてお話していこうと思います。

なおPHP7の必要有無に限らず、フリーランスエンジニアの案件の特徴や仕事の取り方など総合的な情報は「フリーランスエンジニアの案件紹介!経験年数別の年収・実態を調査」でご紹介しているので、併せてご覧ください。

また、PHP7を生かしてフリーランスになりたい方は「フリーランスエンジニアになるには?」の記事も参考になると思います。

ITプロパートナーズでは,週2日からこなせる仕事を紹介しております。
まずはこちらより、弊社のサービスにご登録後、お仕事の詳細をご覧ください!

PHP7のメリットは?

PHP7では言語の互換性に関して非常に保守的な部分があります。言い換えればバージョン間の互換性が非常に高いということです。これはPHP7の最大のメリットと言えるでしょう。つまり既存で動いているPHP5のシステム環境を7に上げるコストが非常に低いということになります。もちろん変更は入っているので、バージョンアップしても動作する保証はないのですが、動作テスト&部分修正で十分に対応できるレベルの互換性があります。なので既存のサイトに対してもPHP7を適用するという選択肢がとりやすくなります。

更にPHP7にバージョンアップするメリットとして処理速度の向上が挙げられます。PHPの生みの親であるRasmus Lerdorf氏によるとPHP7はPHP5系に比べておおよそ2倍のパフォーマンス向上が期待できると述べています。この効果は主に内部的なデータ構造の改善やメモリ管理手法、検索手法の向上などによるものだそうです。

PHP7のデメリットとは?

現時点ではPHP7自体に致命的な問題点というものはないと筆者は考えています。もちろんどのような言語についてもメリットデメリットはあると思うのですが、それは多分に使う人側の好みや考え方に起因することが多いものです。そもそも論ですが致命的な問題点があるような言語はリリースされません。

ただ筆者が感じている点として、PHP5.6系で非推奨とされていたものの使えていた関数が一気に廃止されてしまったことは、かなり大きなデメリットだと感じています。
PHPではバージョン間の互換性を確保する為に、古いバージョンの関数なども非推奨と言う形で動かすことが可能でした。しかしPHP7へのメジャーバージョンアップではこれらの非推奨関数が一気に廃止されたことにより、古いPHPのバージョンで作られたプログラムをPHP7で動作させるためのコストが想定外に大きくなる可能性があります。例えば筆者は昔ereg関数をよく書いていたのですがこれは非推奨関数なのでPHP7ではpreg_matchに書き換えねばなりません。

ITプロパートナーズでは,週2日からこなせる仕事を紹介しております。
まずはこちらより、弊社のサービスにご登録後、お仕事の詳細をご覧ください!

アップデートした方がいいの?

さて、PHP5系で動いているシステムをPHP7にアップデートするべきか否かについて考えてみましょう。考え方としてはシンプルに先に述べたメリットとデメリットを考慮して考えればよいのだと思います。つまり現在のPHPのバージョンが5.6なのかそれ以下なのか?非推奨関数がどの程度使われているかによって判断すべきでしょう。今のシステムがPHP5.6で非推奨関数が使われていない場合はアップデートの方向で進めるべきで、5系でも5.1だったり非推奨関数も多く使われている場合は慎重に検討する必要があるかもしれません。

ただしアップデートのしやすさとは別に、PHP5.6は2018年末にはメンテナンスが終了してしまい、その後はバグフィックスもセキュリティ対策も行われないということを考慮する必要があります。(ちなみに5.6より下のバージョンのPHPサポートは既に終了しています。)

もしビジネスユースでPHPを利用している場合、今後のセキュリティのリスクを考えるとアップデートをしないという選択肢はないのかもしれません。この辺はサイトの知名度、売り上げや利益などエンジニアリングとは別の要素、つまり経営的な判断から決められることになると思います。費用対効果を考えると場合によってはサイト閉鎖や問題の放置という選択肢も合理的なのかもしれません。

まとめ

いかがでしたでしょうか?PHP7は5系のリリースからほぼ10年ぶりのメジャーバージョンアップで、初めての対応に苦慮する方も多いかもしれません。また今回はPHPの言語レベルでのアップデートのしやすさについて評価をしましたが現実にはフレームワークの有無やその対応状況、エンジニア確保の問題などで容易にアップデートができないというケースもあります。

PHP5には10年の歴史がありますから10年前に構築されたサイトであれば資料や人も残っておらず、もはやブラックボックス化されたサイトも多々あるでしょう。その場合は無理にアップデートという選択肢を取るよりもサイトリニューアルをする方が経済的かもしれません。となると単純なPHPのアップデートの議論だけではなくサイトの将来を見据えた移行計画が提言できるエンジニアが現場では求められていると言えるでしょう。

フリーランスの方でこのようなお悩みありませんか?
  • 高額案件を定期的に紹介してもらいたい
  • 週2日、リモートワークなど自由な働き方をしてみたい
  • 面倒な契約周りはまかせて仕事に集中したい

そのような方はぜひ、ITプロパートナーズをご利用ください!

フリーランスの方に代わって高額案件を獲得
週2日、リモートなど自由な働き方ができる案件多数
専属エージェントが契約や請求をトータルサポート

まずは会員登録をして案件をチェック!