Upgrade to Pro — share decks privately, control downloads, hide ads and more …

php8について

 php8について

社内勉強会での発表資料

D8ee54ae44c95e36bb340c6774565db6?s=128

HAYATO FUKUSHIMA

April 28, 2021
Tweet

Transcript

  1. PHP8の話 2021 / 4 / 27 ふくしま

  2. 目次 ✅ php8とは ✅ php8の特徴 / 代表的な導入項目 ✅ デメリット(注意点) ✅

    周辺への影響 ✅ まとめ
  3. 目次 ✅ php8とは 👈 ✅ php8の特徴 / 代表的な導入項目 ✅ デメリット(注意点)

    ✅ 周辺への影響 ✅ まとめ
  4. PHP8とは 2020年、PHPは25周年 「PHP 8」 は 2020年11月26日にリリース

  5. 目次 ✅ php8とは ✅ php8の特徴 / 代表的な導入項目 👈 ✅ デメリット(注意点)

    ✅ 周辺への影響 ✅ まとめ
  6. TOO MANY

  7. JIT(Just In Time Compiler) について JITコンパイラは - コンピュータのプログラムが実行される直前、 - そのプログラムをマシンの

    CPUに応じた機械語に コンパイルをおこなう。 PHP自体もスクリプト言語(都度実行されるたびに コンパイルが行われる) さらに実行直前にコンパイルされるということとは??? 【通常のPHP】 PHPの仮想実行マシ「ZendVM」で実行可能なOPCode列に変換、 ZendVM上で逐次実行。 【JITコンパイラ】 実行時によく利用されるコードの集まりを機械語に変換して直接CPUで実行。 仮想マシンではなくCPUで機械語を直接実行できるため 実行スピードを上げることができます。 ※Software Design 2021年5月号より
  8. JITについて : どれくらい速いのか? https://www.php.net/releases/8.0/ja.phpより ←WEBアプリ

  9. より具体的な コードの書き方を ご紹介

  10. 例1)コンストラクタでのプロパティのプロモーション PHP7 PHP8 https://www.php.net/releases/8.0/ja.php

  11. Match式(の前にswitch式) 何が表示されるかしら?

  12. Match式 PHP7 PHP8

  13. 目次 ✅ php8とは ✅ php8の特徴 / 代表的な導入項目 ✅ デメリット(注意点)👈 ✅

    周辺への影響 ✅ まとめ
  14. バージョンが変わる = 挙動もかわる

  15. 緩やかな比較の変更 何が表示されるかしら?

  16. 緩やかな比較の変更 イコールが2個は緩やかな比較。 【PHP7まで】 緩やかな比較の場合、型が異なる比較の場合 「暗黙的に型の変換」が行われた後比較される。 【PHP8】 こうした挙動を改善するために数値と文字列比較に 変更がされた。 「暗黙的に型の変換」されるが挙動が変わる。 ※イコール3個の厳密比較は変更なし。

  17. 目次 ✅ php8とは ✅ php8の特徴 / 代表的な導入項目 ✅ デメリット(注意点) ✅

    周辺への影響👈 ✅ まとめ
  18. 周辺への影響 フレームワーク Laravel LTSの 6.19.0、8.3.0以降で対応済😊 CakePHP 3.x : 非対応🤢 4.x

    : 対応済み😊 CodeIgniter LTS3系:非対応🤢 開発版4系 : 対応済😊 CMS wordpress 現状は非推奨?※1 ※1 https://column.prime-strategy.co.jp/archives/column_4242
  19. バージョンアップする際は? 🔵 公式移行ガイド の 下位互換性のない変更点 を要チェック 🔵 PHPCompatibility の利用

  20. 目次 ✅ php8とは ✅ php8の特徴 / 代表的な導入項目 ✅ デメリット(注意点) ✅

    周辺への影響 ✅ まとめ👈
  21. まとめ ⭕ 短く記述できたり、速度が早くなったりと恩恵が沢山ある。 ⭕ ただし以前のバージョンと挙動が異なることがあるので注意 ⭕ フレームワークやCMSを利用する際は、そのサポート状況を把握す る。

  22. おわり

  23. 参考 ・php8 rfc ・php8リリースのお知らせ(公式 ・PHP 7.4.x から PHP 8.0.x への移行(公式)

    ・PHP 8 で Web 以外の世界の扉を叩く shinjiigarashi → JITについて、なぜ導入したのか?の考察。