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.3k
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.5k
Other Decks in Programming
See All in Programming
OSS開発者の憂鬱
yusukebe
12
5.3k
Agentに至る道 〜なぜLLMは自動でコードを書けるようになったのか〜
mackee
5
1.8k
Herb to ReActionView: A New Foundation for the View Layer @ San Francisco Ruby Conference 2025
marcoroth
0
140
Tangible Code
chobishiba
3
680
Evolving NEWT’s TypeScript Backend for the AI-Driven Era
xpromx
0
120
オフライン対応!Flutterアプリに全文検索エンジンを実装する @FlutterKaigi2025
itsmedreamwalker
2
230
PHPライセンス変更の議論を通じて学ぶOSSライセンスの基礎
matsuo_atsushi
0
170
歴史から学ぶ「Why PHP?」 PHPを書く理由を改めて理解する / Learning from History: “Why PHP?” Rediscovering the Reasons for Writing PHP
seike460
PRO
0
160
PyCon mini 東海 2025「個人ではじめるマルチAIエージェント入門 〜LangChain × LangGraphでアイデアを形にするステップ〜」
komofr
3
1.1k
全員アーキテクトで挑む、 巨大で高密度なドメインの紐解き方
agatan
5
5.5k
スタートアップを支える技術戦略と組織づくり
pospome
7
7.4k
最新のDirectX12で使えるレイトレ周りの機能追加について
projectasura
0
280
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
28
2.3k
Producing Creativity
orderedlist
PRO
348
40k
Navigating Team Friction
lara
190
15k
Balancing Empowerment & Direction
lara
5
760
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
2.9k
Optimizing for Happiness
mojombo
379
70k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
A Tale of Four Properties
chriscoyier
162
23k
Why Our Code Smells
bkeepers
PRO
340
57k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
118
20k
Mobile First: as difficult as doing things right
swwweet
225
10k
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
͋Γ͕ͱ͏͍͟͝·ͨ͠