Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
php8について
HAYATO FUKUSHIMA
April 28, 2021
Programming
0
28
php8について
社内勉強会での発表資料
HAYATO FUKUSHIMA
April 28, 2021
Tweet
Share
More Decks by HAYATO FUKUSHIMA
See All by HAYATO FUKUSHIMA
コミュニケーションについて
fukushimasurao
0
22
コミュニケーション_について.pdf
fukushimasurao
2
250
拡張管理で時間管理(VS Code Meetup #2 - Live Share編)
fukushimasurao
2
660
PWA 勉強会@G's Academy
fukushimasurao
0
170
PHP勉強会 LT LINE BOTについて
fukushimasurao
0
110
20190517 LINE BOT 自慢大会 #3
fukushimasurao
1
230
LINE DEVELOPER のすすめ
fukushimasurao
0
140
Line Clovaで承認欲求を満たしてみた
fukushimasurao
0
130
Other Decks in Programming
See All in Programming
Rector, time to refactor your code easily
guikingone
1
100
即、New Relic / New Relic NOW!
uzulla
0
340
フロントエンドエンジニアが変える現場のモデリング意識/modeling-awareness-changed-by-front-end-engineers
uggds
9
4.1k
こそこそアジャイル導入しようぜ!
ichimichi
0
1.3k
Web API連携でCSRF対策がどう実装されてるか調べた / how to implements csrf-detection on Web API
yasuakiomokawa
2
510
設計ナイト2022 トランザクションスクリプト
shinpeim
11
2.1k
Lancersをコンテナへ本番移行する取り組み
rvirus0817
1
420
開発速度を5倍早くするVSCodeの拡張機能を作った
purp1eeeee
2
170
Chart実装が楽になりました。
keisukeyamagishi
0
120
マルチプロダクト×非構造化データ×機械学習を支えるデータ信頼性
akino
0
160
engineer
spacemarket
0
4.9k
I/O Extended 2022 in Android ~ Whats new in Android development tools
pluu
0
570
Featured
See All Featured
Producing Creativity
orderedlist
PRO
334
37k
Design by the Numbers
sachag
271
17k
The Invisible Customer
myddelton
110
11k
How to train your dragon (web standard)
notwaldorf
58
3.9k
Three Pipe Problems
jasonvnalue
89
8.7k
Thoughts on Productivity
jonyablonski
43
2.3k
Facilitating Awesome Meetings
lara
29
4k
Optimizing for Happiness
mojombo
365
63k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
7
1.1k
Creatively Recalculating Your Daily Design Routine
revolveconf
207
10k
Robots, Beer and Maslow
schacon
152
7.1k
GraphQLとの向き合い方2022年版
quramy
16
8.3k
Transcript
PHP8の話 2021 / 4 / 27 ふくしま
目次 ✅ php8とは ✅ php8の特徴 / 代表的な導入項目 ✅ デメリット(注意点) ✅
周辺への影響 ✅ まとめ
目次 ✅ php8とは 👈 ✅ php8の特徴 / 代表的な導入項目 ✅ デメリット(注意点)
✅ 周辺への影響 ✅ まとめ
PHP8とは 2020年、PHPは25周年 「PHP 8」 は 2020年11月26日にリリース
目次 ✅ php8とは ✅ php8の特徴 / 代表的な導入項目 👈 ✅ デメリット(注意点)
✅ 周辺への影響 ✅ まとめ
TOO MANY
JIT(Just In Time Compiler) について JITコンパイラは - コンピュータのプログラムが実行される直前、 - そのプログラムをマシンの
CPUに応じた機械語に コンパイルをおこなう。 PHP自体もスクリプト言語(都度実行されるたびに コンパイルが行われる) さらに実行直前にコンパイルされるということとは??? 【通常のPHP】 PHPの仮想実行マシ「ZendVM」で実行可能なOPCode列に変換、 ZendVM上で逐次実行。 【JITコンパイラ】 実行時によく利用されるコードの集まりを機械語に変換して直接CPUで実行。 仮想マシンではなくCPUで機械語を直接実行できるため 実行スピードを上げることができます。 ※Software Design 2021年5月号より
JITについて : どれくらい速いのか? https://www.php.net/releases/8.0/ja.phpより ←WEBアプリ
より具体的な コードの書き方を ご紹介
例1)コンストラクタでのプロパティのプロモーション PHP7 PHP8 https://www.php.net/releases/8.0/ja.php
Match式(の前にswitch式) 何が表示されるかしら?
Match式 PHP7 PHP8
目次 ✅ php8とは ✅ php8の特徴 / 代表的な導入項目 ✅ デメリット(注意点)👈 ✅
周辺への影響 ✅ まとめ
バージョンが変わる = 挙動もかわる
緩やかな比較の変更 何が表示されるかしら?
緩やかな比較の変更 イコールが2個は緩やかな比較。 【PHP7まで】 緩やかな比較の場合、型が異なる比較の場合 「暗黙的に型の変換」が行われた後比較される。 【PHP8】 こうした挙動を改善するために数値と文字列比較に 変更がされた。 「暗黙的に型の変換」されるが挙動が変わる。 ※イコール3個の厳密比較は変更なし。
目次 ✅ php8とは ✅ php8の特徴 / 代表的な導入項目 ✅ デメリット(注意点) ✅
周辺への影響👈 ✅ まとめ
周辺への影響 フレームワーク 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
バージョンアップする際は? 🔵 公式移行ガイド の 下位互換性のない変更点 を要チェック 🔵 PHPCompatibility の利用
目次 ✅ php8とは ✅ php8の特徴 / 代表的な導入項目 ✅ デメリット(注意点) ✅
周辺への影響 ✅ まとめ👈
まとめ ⭕ 短く記述できたり、速度が早くなったりと恩恵が沢山ある。 ⭕ ただし以前のバージョンと挙動が異なることがあるので注意 ⭕ フレームワークやCMSを利用する際は、そのサポート状況を把握す る。
おわり
参考 ・php8 rfc ・php8リリースのお知らせ(公式 ・PHP 7.4.x から PHP 8.0.x への移行(公式)
・PHP 8 で Web 以外の世界の扉を叩く shinjiigarashi → JITについて、なぜ導入したのか?の考察。