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
天高くそびえ立つ巨塔によって PHPをJavaScriptに変換する
Search
potato4d(Takuma HANATANI)
July 15, 2017
Programming
0
560
天高くそびえ立つ巨塔によって PHPをJavaScriptに変換する
2017.07.15 Potato4d #phpkansai Lightning Talk
potato4d(Takuma HANATANI)
July 15, 2017
Tweet
Share
More Decks by potato4d(Takuma HANATANI)
See All by potato4d(Takuma HANATANI)
どうせキレイに書けない処理は逆にAIに書いてもらうほうが良い説 / #kyotojs 22
potato4d
3
350
TSX First な Zero-Runtime SSG potato4d/dodai とその仕組み / owned static site generator #kyotojs
potato4d
1
2.2k
Vue.js with TSX - From Vue 2.x to Vue 3 #v_tokyo11
potato4d
9
4.8k
終わりゆく Vue 2.x 時代の状態設計のアンサー - Vue 3 の Provider への期待 / The Last Architecture of the Vue 2.x
potato4d
25
6.9k
Web Worker を使ってブラウザ上でポケモンの画像を解析したい! / Pokemon recognition from screenshots in browser using web worker
potato4d
0
1.2k
Firebase & Google Cloud によるサーバーレス帳票管理 #FJUG / Serverless Architecture in Candy
potato4d
8
3.6k
NestJS meetup Tokyo Opening Talk / What is NestJS? #nestjs_meetup
potato4d
11
4k
私たちはなぜ SPA で開発するのか / Why you choose SPA
potato4d
39
26k
Amplify Console 誕生以来本番運用しつづけてわかったこと #awswakaran_tokyo
potato4d
6
3.4k
Other Decks in Programming
See All in Programming
5分で理解する SOLID 原則 #phpcon_nagoya
shogogg
1
300
クリーンアーキテクチャから見る依存の向きの大切さ
shimabox
5
960
Go 1.24でジェネリックになった型エイリアスの紹介
syumai
2
280
React 19アップデートのために必要なこと
uhyo
8
1.5k
ソフトウェアエンジニアの成長
masuda220
PRO
12
2.1k
Rails 1.0 のコードで学ぶ find_by* と method_missing の仕組み / Learn how find_by_* and method_missing work in Rails 1.0 code
maimux2x
1
170
How mixi2 Uses TiDB for SNS Scalability and Performance
kanmo
40
16k
PEPCは何を変えようとしていたのか
ken7253
2
190
PHPのバージョンアップ時にも役立ったAST
matsuo_atsushi
0
220
AIの力でお手軽Chrome拡張機能作り
taiseiue
0
190
Introduction to kotlinx.rpc
arawn
0
760
dbt Pythonモデルで実現するSnowflake活用術
trsnium
0
260
Featured
See All Featured
Statistics for Hackers
jakevdp
797
220k
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
Making the Leap to Tech Lead
cromwellryan
133
9.1k
Rails Girls Zürich Keynote
gr2m
94
13k
Why Our Code Smells
bkeepers
PRO
336
57k
Faster Mobile Websites
deanohume
306
31k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Optimizing for Happiness
mojombo
376
70k
Designing Experiences People Love
moore
140
23k
Transcript
ఱߴͦ͘ͼཱ͑ͭڊౝʹΑͬͯ PHPΛJavaScriptʹม͢Δ 2017.07.15 Potato4d #phpkansai Lightning Talk
ࣗݾհ
@potato4d
None
None
ͯͨ͠
νϟϥ͍όϯυϚϯΈ͍͔ͨͩ ΒΊΖͱݴΘΕΔΞΠίϯͷ ਓ
None
օ͞Μbabel͝ଘͰ͔͢ʁ
None
ES2015+ͱ͍͏2015Ҏ߱ͷ JavaScriptΛݹ͍ES5ʹม͢Δ
ESͱ͍͏ͷ͕JavaScriptͷ ϕʔε༷Έ͍ͨͳͷ
ͦͷޙͷྐྵ͕ͦͷ࣌ͷ࣌Ͱ ͷ༷ʹͳΔ
৽͍͠JavaScriptͷػೳΛઌʹ ࢼ͢πʔϧ
ݱߦͷJavaScriptͷػೳΛݹ͍ ϒϥβͰಈ͔͢πʔϧ
html5shiv͋Δ͍Auto Prefixer
ಥવͰ͕͢͜͜Ͱ
ΫΠζͰ͢ʂ
ES20152015ͷJavaScript
ES20162016ͷJavaScript
͡Ό͋ES5Կͷ JavaScriptʁ
ͦ͏Ͱ͢Ͷ
A.D. 5Ͱ͢Ͷ
͜ͷྐྵ5ͷJavaScriptʹม ͢Δπʔϧ
͍ͬͯΔ͜ͱ ҙͷςΩετ to JS
͍ͬͯΔ͜ͱ ҙͷPHP to JS
babel-preset-php
Δ
͓ΉΖʹλʔϛφϧΛ։͘
mkdir _test
cd $_
npm init -
yarn add babel-cli babel- preset-php
> main.php
<?php $hoge=1; var_dump($hoge);
./node_modules/.bin/babel ./ main.php -o main.js
ͬͨ
ͭΒ͍ͱ͜Ζ
͍͍ͩͨಈ ͔ͳ͍
file_get_contentsಈ͔ͳ͍
xhrʹͳͬͨΓfetchʹͳͬͨΓ͠ͳ ͍
PHP to JSͷເͷπʔϧ
None
ͳ͔ͬͨ
͓·͚
ࡶʹEC-CUBEΛ Ϗϧυͯ͠ΈΔ