PHPカンファレンス2019 開催

PHPカンファレンス2019参加レポート[前編]

この記事を読むのに必要な時間:およそ 4 分

12月1日,東京都大田区産業プラザPiOにてPHPカンファレンス2019が開催されました。本稿ではその模様をお届けしていきます。今回は,ゲストスピーカーである廣川類さん,Sebastian Bergmannさん,徳丸浩さんのセッションをレポートします。

廣川類さん「PHPの今とこれから2019」

日本PHPユーザー会の廣川類さんはPHPの今とこれから2019というタイトルで,先日リリースされたPHP 7.4の話など,最近のPHPについて発表しました。

廣川類さん(撮影:杉本展将)

画像

PHPのあゆみ

PHPは1995年に誕生したWebアプリケーションに使用されるスクリプト言語で,現場の課題を簡単に解決してくれる便利なツールとして,誕生以来,Webとともに成長,進化を続けてきました。

PHPは成長,進化をしていくうちに,大衆的なパーソナルツールから,安全で実用的な高性能ツールのプラットフォームへと変化してきました。PHPの総ステップ数がバージョンアップとともに上がってきているように,その変化を見ることができます。PHP5.0ではオブジェクト機能を強化し,PHP5.3ではいわゆる普通のプログラミング言語として変わり,PHP7.0になりやっと大幅な高速化ができるようになりました。

PHP7の普及

現在のPHP7とPHP5のシェアについて,PHP7は42.1%,PHP5は57.4%であることを示しました。昨年のPHP7のシェアが23.6%であることを考えると,2倍弱増えたことになります。今回のイベント参加者もPHP7とPHP5をそれぞれ使っている方で分かれていましたが,昨年と比べるとだんだんとPHP7が浸透してきている印象をもちました。

PHP7は「より速く,快適に」をモットーに作られています。実用アプリケーションの例としてWordPressを取り上げ,実行速度,メモリ消費ともにPHP5から大きく改善していることを紹介しました。こういった面でPHP7を使うメリットは大いにありそうです。

PHP7.4での改善

PHP7.4の改善,変更のポイントとして,以下の点を挙げました。

  • クラスプロパティの型指定

  • OpCacheのプリロード指定:これにより起動時にキャッシュをロードすることで性能を改善できるようになりました。

  • FFIにより外部機能の利用が容易に

  • 配列スプレッド構文

  • アロー関数(ショートクロージャ⁠⁠,匿名関数の記述を簡略化,fnが予約語に

  • ??=構文:ある変数が設定されている場合に代入され,そうでない場合に代入文字列を代入する構文。

    // The folloving lines are doing the same
    $this->request->data['comments']['user_id'] = $this->request->data['comments']['user_id'] ?? 'value';
    // Instead of repeating variables with long names, the equal coalesce operator is used
    $this->request->data['comments']['user_id'] ??= 'value';
  • mb_str_split()関数の追加

  • 数値リテラルセパレータ

  • +.の優先順位を変更:従来,優先順位が同じでした。

    // 〜7.3
    echo "3" . "5" + 7; // 42
    // 7.4〜
    echo "3" . "5" + 7; // ⁠312⁠
  • 弱い参照:キャッシュのようなオブジェクトの破棄に影響を及ぼさない参照の実装に有効になるようになりました。

PHPのこれから

HHVMでJIT(Just-in-Time Compiler)を採用して高速化したように,現在開発中のPHP8でもJITを採用することで高速化の検討をしています。ただし,JITにしても単純にアプリケーションが速くなるわけではないことも付け加えていました。

最後に廣川さんは,⁠PHPは言語がシンプルでドキュメントも豊富にあるため,学習が容易であること。そしてWebの進化に対応し,必要十分な解を提供してくれるという進化を継続してきたこと。このようなPHPを使ってユーザーはプログラムを書くだけでなく,改善をする意識を持つことで,さらに自身が成長したり,夢を現実にできるハッカーになれるのではないか」として発表を締めくくりました。

著者プロフィール

田添春樹(たぞえはるき)

広島工業大学所属。広島でLaravel.hiroshimaという勉強会を主催。普段はLaravelを使い,個人開発を行なっている。ユーザーの役に立てるサービスを作りたいと思い日々頑張っている。

Twitter:@jdkfx


花井宏行(はないひろゆき)

スタディプラス株式会社所属。日本Symfonyユーザー会メンバー。PHPカンファレンスには2015年から参加。

Twitter:hanahiro_aze


中村慎吾(なかむらしんご)

仕事でPHPを使うようになって10数年。楽しいと思ったことには何でもやってみている。趣味が講じて(拗らせて?)会社も作りました。最近はAEMなどのニッチな方面ばかりやっていました。そろそろPHPが恋しい。

Twitter:@n416
URLhttp://kisaragi-system.co.jp