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
CakePHPでも使える Composerを活用したモダンな開発手法
Search
Yusuke Ando
September 14, 2013
Programming
3
12k
CakePHPでも使える Composerを活用したモダンな開発手法
PHPカンファレンス2013にて発表
Yusuke Ando
September 14, 2013
Tweet
Share
More Decks by Yusuke Ando
See All by Yusuke Ando
CakePHP3でアプリ開発
yandod
1
400
Shimokita.Unity パーティクルでエフェクト
yandod
0
820
CakePHP3の明るい未来
yandod
1
250
Testing your app with Selenium on Travis CI
yandod
8
3.2k
Testing your app with Selenium on Travis CI
yandod
0
150
Inputで入力を扱う
yandod
0
690
Detonatorで爆発させる勉強会をした報告
yandod
0
2.5k
Mecanimでアニメーション - Shimokita.Unity
yandod
0
750
パリの街をUnityで駆ける
yandod
1
3.4k
Other Decks in Programming
See All in Programming
はじめてのDSPy - 言語モデルを『プロンプト』ではなく『プログラミング』するための仕組み
masahiro_nishimi
3
13k
XP, Testing and ninja testing ZOZ5
m_seki
3
810
登壇は dynamic! な営みである / speech is dynamic
da1chi
0
360
When Dependencies Fail: Building Antifragile Applications in a Fragile World
selcukusta
0
110
Flutterで分数(Fraction)を表示する方法
koukimiura
0
140
Writing Better Go: Lessons from 10 Code Reviews
konradreiche
3
5.9k
CSC509 Lecture 06
javiergs
PRO
0
260
スキーマ駆動で、Zod OpenAPI Honoによる、API開発するために、Hono Takibiというライブラリを作っている
nakita628
0
310
Things You Thought You Didn’t Need To Care About That Have a Big Impact On Your Job
hollycummins
0
250
iOSでSVG画像を扱う
kishikawakatsumi
0
160
O Que É e Como Funciona o PHP-FPM?
marcelgsantos
0
190
技術的負債の正体を知って向き合う
irof
0
230
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
54k
Building Applications with DynamoDB
mza
96
6.7k
Into the Great Unknown - MozCon
thekraken
40
2.1k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
Java REST API Framework Comparison - PWX 2021
mraible
34
8.9k
Bash Introduction
62gerente
615
210k
Raft: Consensus for Rubyists
vanstee
140
7.2k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
The Language of Interfaces
destraynor
162
25k
Transcript
$PNQPTFSΛ׆༻ͨ͠Ϟμϯͳ։ൃख๏ $BLF1)1Ͱ͑Δ
ZBOEP $BOEZ$BOFQIQ ʮ࠙ձϐβൃΞϓϦʯ
1)1ରԠ1BB4 $IFGͰ"84Λࣗಈߏங $PNQPTFSʹͪΖΜରԠ 44)TVEPՄೳ͔ͭαϙʔτ༗
ΞδΣϯμ Կނ$PNQPTFS͕ඞཁ͔ʁ ͍ํ $BLF1)1ͱ$PNQPTFSͷΈ߹Θͤ
None
$PNQPTFS 1)1 ґଘੑཧπʔϧ DPNQPTFSίϚϯυͰඞཁͳϥΠϒϥ ϦΛࣗಈతʹूΊͯ͘ΕΔ 4ZNGPOZͷػೳͩͬͨ ݱࡏσϑΝΫτελϯμʔυ
ैདྷͷख๏ ϥΠϒϥϦ͕ඞཁʹͳΔ MJCͱ͔ʹμϯϩʔυͯ͠ίϐʔ ͕ΜͬͯSFRVJSF@PODF
Ξοϓσʔτ͕͍͠ ίʔυͷྔ͕૿͑Δ ϥΠϒϥϦ͕͍ͣΕฤू͞ΕΔ SFRVJSF@PODFࠈ
None
None
None
͜͏͍͏ͷྑ͘ͳ͍
$PNQPTFSΛ͓͏ʂ
࡞Δͷ 7BHSBOUͰಈ͘ $PNQPTFSͰϥΠϒϥϦΛಋೖ 5XJUUFS͔Βใऔಘ
7BHSBOU 7JSUVBM#PY7BHSBOU IUUQTHJUIVCDPNZBOEPEQIQ OHJOYWBHSBOUTBNQMF HJUDMPOF WBHSBOUVQ
DPNQPTFSKTPO WBHSBOUTTI DEWBHSBOU@EBUBTBOECPY DPNQPTFSKTPOΛهड़͢Δ ࣗಈͰखಈͰͰ͖Δ
DPNQPTFSKTPO { "name": "llmatsuri/sample", "authors": [ { "name": "yando", "email":
"
[email protected]
" } ], "require": { "dg/twitter-php": "*" } }
DPNQPTFSKTPO ΄͍͠ϥΠϒϥϦΛݕࡧͯ͠ࢦఆ͢Δ 8FCͰίϚϯυͰݕࡧͰ͖Δ ࣮1&"3ΠϯετʔϧͰ͖Δ ࠷ޙʹDPNQPTFSJOTUBMMͰ·ͱΊͯ%-
DPNQPTFSJOTUBMM vagrant@precise64:/vagrant_data$ composer install Loading composer repositories with package information
Installing dependencies (including require-dev) - Installing dg/twitter-php (v3.1) Loading from cache Writing lock file Generating autoload files
JOTUBMM͢Δͱ DPNQPTFSMPDL͕ੜ͞ΕΔ WFOEPSҎԼʹϥΠϒϥϦ͕%-͞ΕΔ WFOEPSҎԼʹΦʔτϩʔμ͕ஔ
༻ޙ
BVUPMPBE BVUPMPBEQIQ͚ͩΛSFRVJSF͢Δ ඞཁͳ࣌ʹ֤ΫϥεΛࣗಈͰಡΈࠐΉ ೋͱSFRVJSF@PODFΛॻ͔ͳ͍ ϑϨʔϜϫʔΫ͕ಡΈࠐΉ߹͋Δ
JOEFYQIQ <?php require_once 'vendor/autoload.php'; $twitter = new Twitter(); ͜Ε͚ͩͰ5XJUUFSΫϥεΛࣗಈతʹ WFOEPSEHUXJUUFSQIQTSD͔ΒಡΈࠐΉʂ
Τϥʔʁ 5XJUUFSΫϥείϯγϡʔϚΩʔͱ ίϯγϡʔϚγʔΫϨοτ͕ඞཁΒ͍͠
EFWUXJUUFSDPNBQQT αΠϯΞοϓ ΞϓϦΛ࡞ ੜ͞ΕͨΩʔใΛίϐͬͯ͏
औಘ <?php require_once 'vendor/autoload.php'; $twitter = new Twitter( 'aaaa', 'bbbb',
'cccc', 'dddd' ); $info = $twitter->loadUserInfo('yando'); var_dump($info->status->text);
͓͓ʂ
͋ͱ ϥΠϒϥϦΛDPNQPTFSKTPOՃ DPNQPTFSVQEBUFͰߋ৽ WFOEPSΛίϛοτ͠ͳ͍ σϓϩΠ࣌ʹJOTUBMMͰWFOEPSΛ࠶ੜ
͞Βʹ 143Λक͍ͬͯΕࣗ࡞ΫϥεͰ BVUPMPBEʹରԠͰ͖Δ 1&"3ͳͲDPNQPTFSͰΠϯετʔϧ ࣗ࡞ϥΠϒϥϦQBDLHJTUͰެ։ʂ
ࣗ࡞Ϋϥεͷϩʔυ
None
QIQGSJFOET
QIQGSJFOET HJUIVCDPNZBOEPEQIQGSJFOET QIQGSJFOETͷը૾Λऩू ͷ͖͔͚ͬʹ ʮQIQGSJFOETͷࣸਅࡱΓ·ͤΜ͔ʁʯ SVCZGSJFOETͷύΫϦ
None
ී௨ͷ$BLF MJC$BLFͷԼʹϑϨʔϜϫʔΫ Ξοϓσʔτؤுͬͯೖସ͑ ϦϙδτϦ͕ඒ͘͠ͳ͍
$PNQPTFSԽ
DPNQPTFSKTPO
Δ͜ͱ DPNQPTFSJOTUBMM DBLFCBLF BQQଆΛࣗಈੜʂ
ࢼ͢ʁ 7BHSBOUpMFಉ͓͖ࠝͯ͠·ͨ͠ HJUDMPOF WBHSBOUVQ IUUQ
ৄ͘͠
·ͱΊ $PNQPTFSΛ͏ͱ໘ͳ࡞ۀ͕ݮΔ ΞοϓσʔτΛසൟʹߦ্͍࣭ ରԠ͍ͯ͠Δ1BB4ͰͷεϜʔζͳಈ࡞
࣭ طଘΞϓϦͷ$PNQPTFSҠߦʁ ৽͘͠ಋೖ͢ΔϥΠϒϥϦ͔Βগͮͭ͠Ҡ͠ ͍ͯ͘ͷͰΑ͍ɻ ݅ʹԠͨ͡ϑϥάͳͲͷઃఆʁ υΩϡϝϯτΛࢀরɻ IUUQHFUDPNQPTFSPSHEPD TDIFNBNEQBDLBHFMJOLT
͋Γ͕ͱ͏͍͟͝·ͨ͠