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とmBaaSの美味しい関係
Search
KOYAMA Tetsuji
May 21, 2016
Technology
2.9k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
PHPとmBaaSの美味しい関係
2016年5月21日のPHPカンファレンス福岡2016で発表した資料です。
KOYAMA Tetsuji
May 21, 2016
More Decks by KOYAMA Tetsuji
See All by KOYAMA Tetsuji
PIE (PHP Installer for Extensions) をみんなで試そう/piseka-pie
koyhoge
0
120
君はPostScriptなウィンドウシステム 「NeWS」をご存知か?/sunnews
koyhoge
0
1k
全日本PHPカンファレンス2024スタンプラリーについて/stamprally-php2024
koyhoge
0
200
日本PHPカンファレンス2024スタンプラリーとその実装/phpcon-stamprally
koyhoge
1
2.3k
日本のPHPカンファレンスの歩みと、その辺もろもろ/phpcon_japan_history
koyhoge
0
340
Inside SWOOLE: 非同期処理はどのようにして動くのか/inside_swoole
koyhoge
0
19k
映画を年300本観る技術/watch_300_movies_in_a_year
koyhoge
0
1.3k
Swooleで実装するPHP非同期処理の世界/phpcondo2019-swoole
koyhoge
3
5.8k
CloudFormation と FaaS のはざま - Kubernetes の設計思想を探る -/cf-faas-k8s
koyhoge
0
1.6k
Other Decks in Technology
See All in Technology
SO-101×VLAによる3色キューブのピック&プレース
abeja
0
200
侵入は突然に 〜 IoTマルウェアと悪用される家庭の機器 ~ / When Intrusion Strikes: IoT Malware and the Abuse of Home Devices
nttcom
0
1.7k
認知負荷をGemini で溶かす — GKE 基盤「Orbit」における AI エージェントの実践
sansantech
PRO
1
300
【CEDEC2026】『GRANBLUE FANTASY: Relink - Endless Ragnarok』のバトル制作事例 ~最高のキャラゲーを目指して~
cygames
PRO
0
290
20260804_Q4AzureUpdateBite_FabricDataAgentの精度を高める設計.pdf
matayuuu
1
130
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
4
24k
ブラウザ研修 2026
recruitengineers
PRO
6
990
20260608_Codexの可能性_ノンプログラマー向け_大城追記
doradora09
PRO
0
800
事業価値と Engineering 2026年度版
recruitengineers
PRO
49
23k
【Google Cloud Next Tokyo'26】Gemini Enterprise と Oracle AI Database で実現する、業務データ活用を実現する AI エージェント実装
shisyu_gaku
0
250
モノリス Rails でも日中に rails db:migrate を走らせたい! / Daytime rails db:migrate on Monolithic Rails!
euglena1215
4
580
【AG-UI × A2UI × MCP Apps】Generative UIをやさしく解説する
nrinetcom
PRO
1
120
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
234
19k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.2k
The Curious Case for Waylosing
cassininazir
1
450
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
A designer walks into a library…
pauljervisheath
211
24k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
430
Git: the NoSQL Database
bkeepers
PRO
432
67k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Making Projects Easy
brettharned
120
6.7k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
650
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
240
Darren the Foodie - Storyboard
khoart
PRO
3
3.6k
Transcript
1)1ͱN#BB4ͷ ඒຯ͍ؔ͠ খࢁࢤ !LPZIPHF 1)1ΧϯϑΝϨϯεԬ
BCPVU͍͜΄͛ ‣খࢁࢤ ͜·ͯͭ͡ ‣ϑϦʔϥϯεϓϩάϥϚʔ ‣!LPZIPHF ‣χϑςΟΫϥυNPCJMFCBDLFOE ΤόϯδΣϦετ ‣ࠓظͷΠνΦγΞχϝ ʮ3Fθϩ͔Β࢝ΊΔҟੈքੜ׆ʯ
Θͨ͠ͱN#BB4 ‣ࡢՆΑΓχϑςΟΫϥυNPCJMFCBDLFOE ΤόϯδΣϦετ ‣"OESPJE4%,Wͷॳظ։ൃʹؔΘΔ ‣ϒϩάهࣄΛ͍͔ͭࣥ͘ච ‣ษڧձɾΧϯϑΝϨϯεͰͷN#BB4ൃදճ
N#BB4 ϞόΠϧόοΫΤϯυ ΞζΞαʔϏε
#BB4 ‣1BB4ͷҰछͱݴ͑Δ ‣αʔόଆػೳҰࣜΛ"1*Խͯ͠ఏڙ ‣εέʔϧʹࣗಈରԠ ‣֤छཧػೳ ‣8FCμογϡϘʔυ ‣ϝʔϧͦͷଞͷ௨
N#BB4 ϞόΠϧ
ϞόΠϧ։ൃͷಛ ‣αʔόαΠυٕज़ʹৄ͘͠ͳ͍ ਓ͍Δ ‣εέʔϧରԠͱ͔উखʹͬͯ΄͍͠ ‣ϞόΠϧ͚ʹಛԽͨ͠ػೳ ‣ϓογϡ௨ ‣Ґஔใ ‣ՄೳͳΒαʔόϨεͰ͍͖͍ͨ
None
N#BB4Λ Ͳ͏ͬͯ͏ͷ͔
4%, ‣J04ɺ"OESPJEͦΕͧΕʹ༻ҙ͞Ε͍ͯΔ ‣J04TXJGUधཁ͕ߴ·͍ͬͯΔ ‣αʔϏεʹΑͬͯͦΕҎ֎ ‣+BWB4DSJQU /PEF )5.- ‣$ 6OJUZ
‣1)1 ‣3&45"1*
N#BB4Ͱ Կ͕Ͱ͖Δͷ͔
N#BB4ͷػೳ ‣σʔλϕʔε ‣Ϣʔβʔೝূ ‣ϑΝΠϧετϨʔδ ‣ϓογϡ௨ ‣ͦͷଞ ‣ߦಈղੳɺΫϥογϡϨϙʔτɺαʔόϩδο ΫɺͳͲͳͲʜ
σʔλϕʔε ‣σʔλετΞɺϦΞϧλΠϜ%#ͳͲͱݺΕΔ ‣ΩʔόϦϡʔετΞతͳߴ%# ‣ಠࣗͷΫΤϦػೳ ‣"1*Λݺͼग़͚ͩ͢ͳͷͰɺεέʔϧউखʹߦ ΘΕΔ ‣ͪΖΜαʔόӡ༻ඞཁͳ͍
Ϣʔβೝূ ‣ొϢʔβͷཧ ‣,74తʹҙͷଐੑΛࢦఆՄೳ ‣0"VUIೝূαϙʔτ͢Δ߹ ‣άϧʔϓɺ"$-ػೳΛ࣋ͭ߹͋Δ
ϑΝΠϧετϨʔδ ‣େ͖Ίͷσʔλͷอଘॴ ‣ը૾ύονσʔλͳͲ ‣"NB[PO4తͳͷ ‣"$-Λ࣋ͭ߹
ϓογϡ௨ ‣ϓϥοτϑΥʔϜ͝ͱͷҧ͍ ‣J04"1/4 "QQMF1VTI/PUJGJDBUJPO 4FSWJDF ‣"OESPJE($. (PPHMF$MPVE.FTTBHJOH ‣େྔʹૹΔʹϊϋ͕͍Δ
‣ಉ࣌৴ɺݸผ৴ ‣͜ͷͨΊ͚ͩʹN#BB4Λ͏ਓଟ͍
ͦͷଞ ‣αʔόϩδοΫ͕໘ന͍ ‣"NB[PO-BNCEB "[VSF'VODUJPOTͳͲ ‣"1*ͰΩοΫͤͯ͞Ұ࿈ͷॲཧΛόονతʹ ‣Ϣʔβʔߦಈղੳ͜Ε͔Βϗοτ ‣ͦΕઐͷαʔϏε͋Δ
N#BB4 ࠷ۙͷτϐοΫ
1BSTFͷαʔϏεऴྃ ‣'BDFCPPLʹങऩ͞ΕͨN#BB4քͷڊਓ ‣݄ʹαʔϏεΛશऴྃ ‣1BSTF4FSWFSΛ044ͱͯ͠ެ։ ‣Ҡߦɺӡ༻ͷϊϋͷใަ͕ίϛϡχςΟ ͰΜ ‣ࠃͰࠔ͍ͬͯΔࣄۀձࣾଟ͍
(PPHMF'JSFCBTF ‣݄ʹ(PPHMFʹങऩ ‣(PPHMF*0ͰαʔϏε༰ͷେ෯มߋ ‣"OBMZUJDTແঈɾແ੍ݶ ‣ϓογϡ௨ແঈɾແ੍ݶ ‣Ϋϥογϡղੳແঈɾແ੍ݶ ‣ϓϥϯγϯϓϧʹ ‣ແঈɺ݄ɺैྔ
χϑςΟΫϥυ NPCJMFCBDLFOE ‣χϑςΟ͕͍ͬͯΔN#BB4αʔϏε ‣௨শ/$.# ‣ࠃͰେखʹೖΔ ‣ઈࢍʮ1FSTFຽͷۦ͚ࠐΈࣉʯԽͯ͠Δ ‣ʮޚࣾ1BSTFͷΑ͏ʹ͍͖ͳΓαʔϏεଧͪ ͬͨΓ͠ͳ͍Ͱ͢ΑͶ ʯ
Կ͕Ͱ͖Δͷ ‣ձһཧɾೝূ ‣εϚϗͷϓογϡ௨ ‣σʔλετΞ ‣,74తͳͷ ‣ϑΝΠϧετΞ ‣ΦϒδΣΫτετϨʔδ ‣Ґஔใݕࡧ ‣/PEFϞδϡʔϧ࣮ߦ /FX
/$.#4%, ‣J04 0CKFDUJWF$ ‣"OESPJE +BWB ‣+BWB4DSJQU /PEF .POBDB
‣6OJUZ $
͏ͪͷݴޠͳ͍ΜͰ͚͢Ͳ ‣3&45"1*͕ެ։͞Ε͍ͯ·͢ɻ ‣ઌ΄Ͳͷ֤ݴޠ༻4%,ɺதͰ3&45"1* Λୟ͍͍ͯΔ͚ͩɻ ‣IUUQNCDMPVEOJGUZDPNEPDDVSSFOU SFTUDPNNPOGPSNBUIUNM
1)1·ͩͰ͔͢ ‣͍͢·ͤΜɺઈࢍ։ൃதͰ͢ɻ ‣/$.#ͷશػೳʹରԠ༧ఆ ‣1)1Ҏ߱ʹରԠ ‣͏TIPSUBSSBZTZOUBYͰ͍͍ΑͶ
༻ྫσʔλετΞͷอଘ <?php use Ncmb\NCMB; use Ncmb\Object; try { $appkey =
'xxxxxxxx'; $clientkey = 'yyyyyyyy'; NCMB::initialize($appkey, $clientkey); $className = 'myClass'; $object = new Object($className); $object->key1 = 'a'; $object->key2 = 'b'; $object->save(); } catch (Exception $e) { die($e->getMessage()); }
༻ྫσʔλετΞͷݕࡧ <?php use Ncmb\NCMB; use Ncmb\Query; try { $appkey =
'xxxxxxxx'; $clientkey = 'yyyyyyyy'; NCMB::initialize($appkey, $clientkey); $className = 'myClass'; $query = new Query($className); $query->equalTo('key1', 'a'); $results = $query->find(); var_dump(count($results)); // 1 } catch (Exception $e) { die($e->getMessage()); }
ྫ͑ͷ͍ॴ ‣ඇৗʹଟ͘ͷඇߏԽσʔλΛѻ͏ ‣%#αʔόͷ͓कΓͨ͘͠ͳ͍ ‣ඇৗʹଟ͘ͷϢʔβʔΞΧϯτΛѻ͏ ‣σʔλ୯ҐͰࡉ͔͘ΞΫηε੍ޚΛ͢Δ ‣େྔͷϓογϡ৴ΛԆͳ͘Γ͍ͨ
Ͱ͓ߴ͍ΜͰ͠ΐ͏ ‣͓ࢼ͠ແྉϓϥϯ͋Γ·͢ ‣"1*ϦΫΤετສճ݄ ‣ϓογϡ௨৴ສճ݄ ‣ετϨʔδΤϦΞ(# ‣εΫϦϓτ"1*ίʔϧճ݄ ‣͔ͦ͜Β্ສԁ݄ͷ&YQBSUϓϥϯ
·ͱΊ ‣N#BB4ϞόΠϧͷͨΊʮ͚ͩʯͷαʔϏε ͡Ό͋Γ·ͤΜ ‣͏·͘ར༻ͯ͠ඞཁͳ෦͚ͩΛ֎ग़͠Ͱ͖Δ ‣/$.#1)14%,·ͩ։ൃத ‣͏গ͠ػೳ࣮Ͱ͖ͨΒެ։͠·͢