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
元Javaエンジニアが怖いと思うPHPの仕様
Search
sorch
November 19, 2019
Programming
290
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
元Javaエンジニアが怖いと思うPHPの仕様
Java経験者がPHPを学習して「この仕様、まじか(ヒヤリハットッ)」と感じた言語仕様をクイズ形式で紹介
sorch
November 19, 2019
More Decks by sorch
See All by sorch
他言語と比較して今こそ理解しよう! 目指せ、列挙型マスター!
soachr
0
290
アカウント発行システムをDDDでリファクタリングしたら 幸せになりそうな予感がした
soachr
1
310
おさらい!PHP8で廃止される機能
soachr
1
680
Other Decks in Programming
See All in Programming
楽しそうなつよつよエンジニアと目が死んでる僕/A brilliant engineer having a blast, and dead-eyed me.
3l4l5
2
260
承認済みなのに差戻しできてしまうバグ、型で潰せます
shinchit
0
120
バグを直したら useEffect が消えた
colorful12
3
760
AWS Transform Customによる Spring Boot 2.xから4.xへのVerUp
satoshi256kbyte
2
110
Pythonの実行はどこまで賢くなったのか? CPythonとPyPyから見る最適化のしくみ
curekoshimizu
3
2.2k
ハーネス設計入門 〜プロンプト、コンテキストの次〜
kinopeee
32
20k
Go 1.27 における memory allocation の高速化
andpad
0
340
Claude CodeとAgentCore Gatewayを繋ぐ際の認証認可 / Authentication and authorization when connecting Claude Code with AgentCore Gateway
har1101
2
390
異なる設計思想のフレームワークを経験して得た学び
amekuhideki
1
820
わからない話を追いかけたら、プログラミング言語を作る側にいた
ydah
3
560
高専キャリア LT 発表内容
crysta1221
2
3.9k
Claude Code全社展開のためにやったことn選~プラグイン302個・コミッター271人を支えるために~
kenchan
5
1.8k
Featured
See All Featured
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
650
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Mind Mapping
helmedeiros
PRO
1
340
Technical Leadership for Architectural Decision Making
baasie
3
540
KATA
mclloyd
PRO
35
15k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.3k
We Have a Design System, Now What?
morganepeng
55
8.3k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
45k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Evolving SEO for Evolving Search Engines
ryanjones
0
270
Transcript
元 J A V A エ ン ジ ニ ア
が 怖 い と 思 う P H P の 仕 様 ~ ~ L E T ’ S Q U I Z ! ! ~ ~
この発表について • Java経験者がPHPを学習して「この仕様、まじか(ヒヤリハットッ)」と 感じた言語仕様をクイズ形式で紹介 • 主な対象者 – 非スクリプト言語経験者でPHP学び始めの人
そーく soachr 新卒入社 4年目 開発エンジニア • 今までの経歴 – • 開発・運用保守(3.5年間)
/ Java, PostgreSQL, js, jQueryなど – • 開発(半年) / PHP, PostgresSQL, js, jQueryなど 自己紹介
LET’S QUIZ!!
PHP QUIZ!! (1/3) Question 以下のコードの結果は? $hoge = 0; if ($hoge
= 12) { print $hoge; }
PHP QUIZ!! (1/3) Question 以下のコードの結果は? $hoge = 0; If ($hoge
= 12) { print $hoge; } Answer 12 PHPの仕様 条件式の評価結果が - 0であればFALSE - 0以外であればTRUE
PHP QUIZ!! (2/3) Question 以下のコードの結果は? $str = ‘’; If ($str)
{ print ‘hello!!PHP’; }
PHP QUIZ!! (2/3) Question 以下のコードの結果は? $str = ‘’; If ($str)
{ print ‘hello!!PHP’; } Answer なにも出力されない。 エラーにもならない。 PHPの仕様 条件式の評価結果が - 空orNULLであればFALSE - 空orNULL以外であればTRUE
PHP QUIZ!! (3/3) Question 以下のコードの結果は? function argumentOne($msg) { print "
argumentOne : {$msg}"; } argumentOne(‘msg’, ‘hoge’);
PHP QUIZ!! (3/3) Question 以下のコードの結果は? function argumentOne($msg) { print "
argumentOne : {$msg}"; } argumentOne(‘msg’, ‘hoge’); Answer エラーなし。 ・(余談)第2引数に指定した’hoge’という文字列は以下の関 数で取得できる $msg2 = func_get_arg(1); //$msg2 = ’hoge’ ・PHPはオーバーロード機能がないため、 実現するには↑のfunc_get_arg()を駆使するとかになる …(探したらライブラリがありそうだが)
まとめ •PHPはJavaよりゆるふわ!!! – 条件式を書くときはPHP本家サイトを必ず確認す ること –Javaとは勝手が違うという認識を持つこと
ご 清 聴 あ り が と う ご ざ
い ま し た