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.5k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
PHP のドキュメントを読んで PHP のことをもっと知ろう
at PHP BLT #3
Katsuhiro Ogawa
March 01, 2016
More Decks by Katsuhiro Ogawa
See All by Katsuhiro Ogawa
新規プロダクト開発に伴う既存マイクロサービスのリアーキテクティングとその後
fivestar
1
170
Goで学ぶSOLID原則
fivestar
0
460
メルカリ CSE チームの 歩みと取り組み / Steps and Tries in the CSE team for Mercari
fivestar
2
990
Go in Corporate Solutions Engineering
fivestar
0
2.7k
いつまでPHP 5.x使ってるの
fivestar
1
2.1k
CrocosSecurityBundleを Symfony3.0に対応した話
fivestar
0
330
PHP BLT だけど HTML5 の コンテンツモデルのお話
fivestar
0
2.5k
THE NEW "PERFECT PHP" WILL BE COMING SOON
fivestar
0
8.2k
Symfony - フレームワークの先へ
fivestar
2
11k
Other Decks in Technology
See All in Technology
現場に行くだけでは足りない——プロダクトエンジニアが業務の流れを捉える観点と、その鍛え方
takumiengineering
0
280
AI活用の現在地、 ちゃんと見えてますか?/XPfest-2026
visional_engineering_and_design
0
150
少人数データチームのDevin活用実践事例
runandy16
2
440
スクラムで身についていた動き方を、XPで捉え直してみた
codmoninc
PRO
1
200
いかに伝えるか 〜新卒エンジニアの教育のための、ライトノベル活用の一例
ikedon
1
200
設計の世代交代を乗り越える、14年続くAndroidアプリの開発戦略
sansantech
PRO
1
130
PfEingのアプローチで働こう
rindrics
0
180
コスト最適化の「めんどくさい」を AWS FinOps Agent でチョット楽にする
classmethod_kaz
0
200
PM領域でのAI Agentの活用
lycorptech_jp
PRO
0
270
【視聴者参加型!】AWSセキュリティアンチパターンクイズ
syoshie
0
410
Tab5をRubyで動くパソコンにする
kishima
1
190
AIで仕事のやり方を変える
matsu7874
1
640
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
37
3.9k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.2k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.3k
How STYLIGHT went responsive
nonsquared
100
6.3k
The Language of Interfaces
destraynor
162
27k
The agentic SEO stack - context over prompts
schlessera
0
890
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
320
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
460
Writing Fast Ruby
sferik
630
63k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.6k
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