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
1
2.9k
PHPとmBaaSの美味しい関係
2016年5月21日のPHPカンファレンス福岡2016で発表した資料です。
KOYAMA Tetsuji
May 21, 2016
Tweet
Share
More Decks by KOYAMA Tetsuji
See All by KOYAMA Tetsuji
PIE (PHP Installer for Extensions) をみんなで試そう/piseka-pie
koyhoge
0
66
君はPostScriptなウィンドウシステム 「NeWS」をご存知か?/sunnews
koyhoge
0
840
全日本PHPカンファレンス2024スタンプラリーについて/stamprally-php2024
koyhoge
0
160
日本PHPカンファレンス2024スタンプラリーとその実装/phpcon-stamprally
koyhoge
1
1.5k
日本のPHPカンファレンスの歩みと、その辺もろもろ/phpcon_japan_history
koyhoge
0
290
Inside SWOOLE: 非同期処理はどのようにして動くのか/inside_swoole
koyhoge
0
18k
映画を年300本観る技術/watch_300_movies_in_a_year
koyhoge
0
1.2k
Swooleで実装するPHP非同期処理の世界/phpcondo2019-swoole
koyhoge
3
5.3k
CloudFormation と FaaS のはざま - Kubernetes の設計思想を探る -/cf-faas-k8s
koyhoge
0
1.5k
Other Decks in Technology
See All in Technology
生成AI時代 文字コードを学ぶ意義を見出せるか?
hrsued
1
300
AWS CDK 実践的アプローチ N選 / aws-cdk-practical-approaches
gotok365
6
740
Microsoft Build 2025 技術/製品動向 for Microsoft Startup Tech Community
torumakabe
2
270
M3 Expressiveの思想に迫る
chnotchy
0
100
PostgreSQL 18 cancel request key長の変更とRailsへの関連
yahonda
0
120
5min GuardDuty Extended Threat Detection EKS
takakuni
0
140
【TiDB GAME DAY 2025】Shadowverse: Worlds Beyond にみる TiDB 活用術
cygames
0
1.1k
登壇ネタの見つけ方 / How to find talk topics
pinkumohikan
5
440
製造業からパッケージ製品まで、あらゆる領域をカバー!生成AIを利用したテストシナリオ生成 / 20250627 Suguru Ishii
shift_evolve
PRO
1
140
より良いプロダクトの開発を目指して - 情報を中心としたプロダクト開発 #phpcon #phpcon2025
bengo4com
1
3.1k
Observability infrastructure behind the trillion-messages scale Kafka platform
lycorptech_jp
PRO
0
140
BrainPadプログラミングコンテスト記念LT会2025_社内イベント&問題解説
brainpadpr
1
160
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
35
6.7k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Why You Should Never Use an ORM
jnunemaker
PRO
57
9.4k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.8k
Stop Working from a Prison Cell
hatefulcrawdad
270
20k
4 Signs Your Business is Dying
shpigford
184
22k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
5
210
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.3k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
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%,·ͩ։ൃத ‣͏গ͠ػೳ࣮Ͱ͖ͨΒެ։͠·͢