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 のドキュメントを読んで PHP のことをもっと知ろう
Search
Katsuhiro Ogawa
March 01, 2016
Technology
3.4k
1
Share
PHP のドキュメントを読んで PHP のことをもっと知ろう
at PHP BLT #3
Katsuhiro Ogawa
March 01, 2016
More Decks by Katsuhiro Ogawa
See All by Katsuhiro Ogawa
新規プロダクト開発に伴う既存マイクロサービスのリアーキテクティングとその後
fivestar
1
160
Goで学ぶSOLID原則
fivestar
0
440
メルカリ CSE チームの 歩みと取り組み / Steps and Tries in the CSE team for Mercari
fivestar
2
980
Go in Corporate Solutions Engineering
fivestar
0
2.6k
いつまでPHP 5.x使ってるの
fivestar
1
2k
CrocosSecurityBundleを Symfony3.0に対応した話
fivestar
0
320
PHP BLT だけど HTML5 の コンテンツモデルのお話
fivestar
0
2.4k
THE NEW "PERFECT PHP" WILL BE COMING SOON
fivestar
0
8.2k
Symfony - フレームワークの先へ
fivestar
2
10k
Other Decks in Technology
See All in Technology
AIがコードを書く時代の ジェネレーティブプログラミング
polidog
PRO
3
740
Introduction to Sansan Meishi Maker Development Engineer
sansan33
PRO
0
390
ストライクウィッチーズ2期6話のエイラの行動が許せないのでPjMの観点から何をすべきだったのかを考える
ichimichi
1
370
ルールルルルル私的函館観光ガイド── 函館の街はイクラでも楽しめる!
nomuson
0
190
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
6
74k
ある製造業の会社全体のAI化に1エンジニアが挑んだ話
kitami
2
950
JOAI2026講評会資料(近藤佐介)
element138
1
110
申請待ちゼロへ!AWS × Entra IDで実現した「権限付与」のセルフサービス化
mhrtech
2
300
Bill One 開発エンジニア 紹介資料
sansan33
PRO
5
18k
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
4.2k
NgRx SignalStore: The Power of Extensibility
rainerhahnekamp
0
220
最近の技術系の話題で気になったもの色々(IoT系以外も) / IoTLT 花見予定会(たぶんBBQ) @都立潮風公園バーベキュー広場
you
PRO
0
110
Featured
See All Featured
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
160
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.1k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.7k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.2k
ラッコキーワード サービス紹介資料
rakko
1
3M
YesSQL, Process and Tooling at Scale
rocio
174
15k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.1k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
690
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1k
Transcript
1)1ͷυΩϡϝϯτΛಡΜͰ 1)1ͷ͜ͱΛͬͱΖ͏ খ༤େ!pWFTUS 1 PHP BLT #3
খ༤େ (͓͕Θ͔ͭͻΖ) @fivestr Racing Driver (Amateur) Author of "Perfect PHP"
CTO at Ancar Inc. 2
Έͳ͞Μ1)1ͷ࠷৽ಈνΣοΫͯ͠·͔͢ʁ w 1)1ͰԿ͕৽͘͠ͳ͔ͬͨ w ࠓޙͲͷΑ͏ͳػೳ͕Ճ͞ΕΔ͔ 3
1)1 w εΧϥʔλΠϓώϯτ w ϦλʔϯλΠϓώϯτ w ԋࢉࢠ /VMM߹ମԋࢉࢠ w
ԋࢉࢠ εϖʔεγοϓԋࢉࢠ w ແ໊Ϋϥε 4
1)1&SSPS w 5ISPXBCMF w &SSPS w &YDFQUJPO w ͪͳΈʹ#BTF&YDFQUJPOͰͳ͘ͳΓ·ͨ͠ 5
use Entity\{Article, Author, Comment}; 6
ҠߦυΩϡϝϯτΛಡΈ·͠ΐ͏ w <1)1Y͔Β1)1YͷҠߦ> IUUQQIQOFUNBOVBMKBNJHSBUJPOQIQ w ֤ϝδϟʔϚΠφʔόʔδϣϯ͝ͱʹ ҠߦυΩϡϝϯτ͕͋Γ·͢ w
w υΩϡϝϯτͷτοϓ͔ΒḷΕ·͢ 7
ҠߦυΩϡϝϯτ͍͢͝ w جຊతʹͯ͢ͷมߋ͕·ͱΊΒΕ͍ͯ·͢ w ͔͍͍ͩͨ͠༁͞Ε͍ͯ·͢ w NUBLBHJ͞Μຊʹ͋Γ͕ͱ͏ 8
ࠓޙͷಈ͖Ͳ͏ͬͯݟ͍͚͍͍ͯͷʁ w ҠߦυΩϡϝϯτΛಡΊϦϦʔε͞Εͨ ใΘ͔ΔΑ͏ʹͳΓ·ͨ͠ w ͜Ε͔ΒՃ͞ΕΔػೳͱ͔ Ͳ͏ͬͯΕΑ͍ͷͰ͠ΐ͏͔ 9
1)13'$ w 3'$ͷϖʔδΛݟΔͱࠓޙͷಈ͖Λ νΣοΫͰ͖·͢ w IUUQTXJLJQIQOFUSGD 10
3'$ͷಈ͖ w %SBGU%JTDVTTJPO7PUJOH w "DDFQUFE*NQMFNFOUBUJPO w %FDMJOF w ථͷ݁Ռͷࢍ͕ͳ͍ͱ٫Լ͞ΕΔ 11
*NQMFNFOUFE 12
<>7PJE3FUVSO5ZQF w WPJE Γ͕ͳ͍ ΛϦλʔϯ λΠϓώϯτ͕ఆٛͰ͖ΔΑ͏ʹ 13
function process($data) :void { ... } 14
<>4VQQPSU$MBTT$POTUBOU7JTJCJMJUZ w ΫϥεఆʹΞΫηεम০ࢠΛ ઃఆͰ͖ΔΑ͏ʹ͢Δ 15
class Foo { private const BAR = 'baz'; } 16
"DDFQUFE 1FOEJOH*NQMFNFOUFE 17
"MMPXTQFDJGZJOHLFZTJOMJTU w MJTU Ͱ࿈ྻͷΩʔΛࢦఆͯ͠ ల։Ͱ͖ΔΑ͏ʹ͢Δ 18
list( 'type' => $type, 'value' => $value, ) = $attrs;
19
7PUJOH 20
(FOFSBMJ[FTVQQPSUPGOFHBUJWFTUSJOHP⒎TFUT w จࣈྻͷΦϑηοτࢦఆʹϚΠφεͷΛ ࢦఆͰ͖ΔΑ͏ʹ͢Δ w TVCTUSͳͲؔͰαϙʔτ͞Ε͍ͯͨ w ͍·ͷͱ͜ΖରͰ͍ͯͳ͍ͷͰ௨Γͦ͏ 21
$str = 'abcdef'; var_dump($str[-2]); // => string(1) "e" 22
6OEFS%JTDVTTJPO 23
5SBJUTXJUIJOUFSGBDFT w τϨΠτʹΠϯλʔϑΣΠεΛ ࣮Ͱ͖ΔΑ͏ʹ͢Δ w ͢Β͍͠ w ͥͻ࣮͍͖͍ͯͨͩͨ͠ 24
trait LoggerInjectTrait implements LoggerAwareInterface { protected $logger; /** @Inject */
public function setLogger(LoggerInterface $logger) { $this->logger = $logger; } } 25
%FDMJOF 26
1SPQFSUZ"DDFTTPST4ZOUBY w ΫϥεͷϓϩύςΟͷΞΫηαఆٛ w ΊͬͪΌཉ͔ͬͨ͠ͷʹͳΜͰ 27
$MBTT.FUBEBUB "OOPUBUJPOT w ΞϊςʔγϣϯͷωΠςΟϒαϙʔτ ٫Լ͞Ε͍ͯΔ w %PDίϝϯτͷΞϊςʔγϣϯΛѻ͏ ʮ"OOPUBUJPOTJOEPDCMPDLʯ *OBDUJWFʹͳ͍ͬͯΔ 28
·ͱΊΔͱ 29
1)1υΩϡϝϯτΛಡ͏ w ҠߦΨΠυΛಡΉͱϦϦʔεͷ༰͕ ѲͰ͖·͢ w 3'$ΛಡΉͱࠓޙͷػೳՃͳͲͷಈΛ ݟΔ͜ͱ͕Ͱ͖·͢ 30
͍͞͝ʹ 31
1)1ΤϯδχΞͱ J04ΤϯδχΞͱ "OESPJEΤϯδχΞͱ σβΠφʔͱ ͱ͔͘Ұॹʹಇ͍ͯ͘ΕΔํΛืू͍ͯ͠·͢ʂʂ 32