Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
php8について
Search
HAYATO FUKUSHIMA
April 28, 2021
Programming
78
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
php8について
社内勉強会での発表資料
HAYATO FUKUSHIMA
April 28, 2021
More Decks by HAYATO FUKUSHIMA
See All by HAYATO FUKUSHIMA
Sveltについて調べてみた
fukushimasurao
0
29
エンジニアの勉強法ハックLT.pdf
fukushimasurao
2
160
コミュニケーションについて
fukushimasurao
0
110
コミュニケーション_について.pdf
fukushimasurao
2
500
拡張管理で時間管理(VS Code Meetup #2 - Live Share編)
fukushimasurao
2
860
PWA 勉強会@G's Academy
fukushimasurao
0
360
PHP勉強会 LT LINE BOTについて
fukushimasurao
0
140
20190517 LINE BOT 自慢大会 #3
fukushimasurao
1
300
LINE DEVELOPER のすすめ
fukushimasurao
0
360
Other Decks in Programming
See All in Programming
OSINT for SRE: 学術論文とポストモーテムから探る システム障害の共通パターン / SRE NEXT 2026
tomoyk
1
3.5k
地域 SRE コミュニティ最前線 - ホンマでっかSRE勉強会
tk3fftk
0
220
ローカルLLMでどこまでコードが書けるか -拡張版 / How much code can be written on a local LLM Extended
kishida
12
4.7k
アルゴリズムは何を圧縮しているのか ─ Haskell から育った「圧縮代数」というメンタルモデル
naoya
16
3.3k
コンテキストの使い捨てをやめる — ビジネスルール駆動開発と miko —
ioki
0
270
The Bowling Game- From Imperative to Functional Programming - Part 1
philipschwarz
PRO
0
310
スマートグラスで並列バイブコーディング
hyshu
0
290
Snowflake Summitでの新機能 CoCo / CoWork / snowflake-summit-2026-overall-what-new-coco
tatsuhiro
1
220
Developing with AI Agents — Codex, Claude Code & Cowork Practical Guide
x5gtrn
PRO
0
1.4k
【やさしく解説 設計編 #0】DDDのコード、読めるのに分からない人へ
panda728
PRO
2
260
symfony/aiとlaravel/boost
77web
0
120
「なぜそう決めたのか」を残し続ける仕組み ― Notion AI カスタムエージェント × Slack連携による設計判断の自動記録 - NIKKEI Tech Talk #47
niftycorp
PRO
0
260
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
190
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.2k
Typedesign – Prime Four
hannesfritz
42
3.1k
Building AI with AI
inesmontani
PRO
1
1.1k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
460
Designing for Timeless Needs
cassininazir
1
330
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Everyday Curiosity
cassininazir
0
250
The Language of Interfaces
destraynor
162
27k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
270
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.7k
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について、なぜ導入したのか?の考察。