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
1
3.2k
PHP のドキュメントを読んで PHP のことをもっと知ろう
at PHP BLT #3
Katsuhiro Ogawa
March 01, 2016
Tweet
Share
More Decks by Katsuhiro Ogawa
See All by Katsuhiro Ogawa
新規プロダクト開発に伴う既存マイクロサービスのリアーキテクティングとその後
fivestar
1
140
Goで学ぶSOLID原則
fivestar
0
310
メルカリ CSE チームの 歩みと取り組み / Steps and Tries in the CSE team for Mercari
fivestar
2
900
Go in Corporate Solutions Engineering
fivestar
0
2.4k
いつまでPHP 5.x使ってるの
fivestar
1
1.9k
CrocosSecurityBundleを Symfony3.0に対応した話
fivestar
0
250
PHP BLT だけど HTML5 の コンテンツモデルのお話
fivestar
0
2.4k
THE NEW "PERFECT PHP" WILL BE COMING SOON
fivestar
0
8k
Symfony - フレームワークの先へ
fivestar
2
9.9k
Other Decks in Technology
See All in Technology
抽象化をするということ - 具体と抽象の往復を身につける / Abstraction and concretization
soudai
19
8k
「海外登壇」という 選択肢を与えるために 〜Gophers EX
logica0419
0
710
2025-02-21 ゆるSRE勉強会 Enhancing SRE Using AI
yoshiiryo1
1
370
2/18/25: Java meets AI: Build LLM-Powered Apps with LangChain4j
edeandrea
PRO
0
120
Platform Engineeringは自由のめまい
nwiizo
4
2.1k
PHPで印刷所に入稿できる名札データを作る / Generating Print-Ready Name Tag Data with PHP
tomzoh
0
110
CZII - CryoET Object Identification 参加振り返り・解法共有
tattaka
0
380
TAMとre:Capセキュリティ編 〜拡張脅威検出デモを添えて〜
fujiihda
2
250
運用しているアプリケーションのDBのリプレイスをやってみた
miura55
1
740
データマネジメントのトレードオフに立ち向かう
ikkimiyazaki
6
1k
地方拠点で エンジニアリングマネージャーってできるの? 〜地方という制約を楽しむオーナーシップとコミュニティ作り〜
1coin
1
230
OpenID BizDay#17 KYC WG活動報告(法人) / 20250219-BizDay17-KYC-legalidentity
oidfj
0
250
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
511
110k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
133
33k
We Have a Design System, Now What?
morganepeng
51
7.4k
Building Your Own Lightsaber
phodgson
104
6.2k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.3k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.8k
RailsConf 2023
tenderlove
29
1k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Scaling GitHub
holman
459
140k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Optimising Largest Contentful Paint
csswizardry
34
3.1k
Designing Experiences People Love
moore
140
23k
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