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
28
エンジニアの勉強法ハックLT.pdf
fukushimasurao
2
150
コミュニケーションについて
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
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
260
スマートグラスで並列バイブコーディング
hyshu
0
140
ローカルLLMでどこまでコードが書けるか -拡張版 / How much code can be written on a local LLM Extended
kishida
11
4.1k
AIだと陥りがちなJakarta EE最新技術への移行時の落とし穴と解決策
tnagao7
0
110
フロントエンドとバックエンドで「1文字」を揃えよう
youkidearitai
PRO
0
680
技術記事、AIに書かせるか、自分で書くか? 〜それでも私が自分の手で書く理由〜 / #QiitaConference
jnchito
2
1.4k
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
13
4.2k
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
240
ECSアプリログをFireLensでコスト削減しようとしたけど諦めた話 in Fargate×Node.js
akihisaikeda
2
4.2k
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
0
230
Vite+ Unified Toolchain for the Web
naokihaba
0
300
Claspは野良GASの夢をみるか
takter00
0
190
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
174
15k
A Modern Web Designer's Workflow
chriscoyier
698
190k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
840
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
A Soul's Torment
seathinner
6
2.9k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
330
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
540
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
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について、なぜ導入したのか?の考察。