Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
パイプ演算子の実装を 覗いてみよう
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Akinori Takigawa
March 20, 2026
340
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
パイプ演算子の実装を 覗いてみよう
Akinori Takigawa
March 20, 2026
More Decks by Akinori Takigawa
See All by Akinori Takigawa
PHPの脆弱性修正リリースで私たちがすべきこと
akinoriakatsuka
2
980
Nginxになりきって、FCGIでPHPと喋ろう
akinoriakatsuka
0
120
PHPUnitのテストイベントを使ってテストにかかる時間の計測をしよう
akinoriakatsuka
0
250
PHPでCQRS+ES入門
akinoriakatsuka
0
250
手軽に作れる電卓を作って イベントソーシングに親しもう CQRS+ESカンファレンス2026
akinoriakatsuka
0
1.2k
Rubyで作る物理エンジン - 叡電LT
akinoriakatsuka
0
60
パイプ演算子の実装を覗いてみよう - 【非公式】PHPカンファレンス福岡2025・前日Meetup
akinoriakatsuka
0
65
技術的負債の会計学 - PHPカンファレンス広島2025
akinoriakatsuka
8
1.7k
スクラムをちゃんとやる勇気
akinoriakatsuka
0
83
Featured
See All Featured
Darren the Foodie - Storyboard
khoart
PRO
4
4k
Faster Mobile Websites
deanohume
310
32k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Raft: Consensus for Rubyists
vanstee
142
7.8k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
33
5.3k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
8.1k
Paper Plane (Part 1)
katiecoart
PRO
2
12k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
420
Reflections from 52 weeks, 52 projects
jeffersonlam
356
22k
Producing Creativity
orderedlist
PRO
348
41k
From π to Pie charts
rasagy
1
400
Transcript
͖͋ ύΠϓԋࢉࢠͷ࣮Λ ͍ͯΈΑ͏👀 1)1FS,BJHJQIQFSLBJHJ
ϓϩϙʔβϧ 1)1Ͱಋೖ͞ΕͨύΠϓԋࢉࢠʢcʣɺ͏͍ͬͯΔͰ͠ΐ͏͔ʁ ύΠϓԋࢉࢠΛ͏ͱɺ TUSUPVQQFS IFMMP ͱIFMMPcTUSUPVQQFS ͕ಉ͡ҙຯʹͳΓ·͢ɻ
࣮ɺྫʹ͋͛ͨͭͷࣜɺPQDPEFͱͯ͠ಉҰͰ͢ɻ
ϓϩϙʔβϧ ͜ͷτʔΫͰɺQIQTSDͷιʔείʔυΛಡΈղ͖ͳ͕ΒɺύΠϓԋࢉࢠ͕ͲͷΑ ͏ʹ࣮͞Ε͍ͯΔ͔Λݟ͍͖ͯ·͢ɻ ۩ମతʹҎԼͷ༰Λѻ͍·͢ w WMEͰͷPQDPEFͷൺֱ w PQDPEFͷίϯύΠϧʹΘΕΔ[FOE@BTUͱ[OPEF w
ύΠϓԋࢉࢠΛॲཧ͢Δ[FOE@DPNQJMF@QJQF 1)1ͷ৽ػೳΛ௨ͯ͡QIQTSDʹೖͯ͠Έ·͠ΐ͏
ࠓͷඪ w ʮϓϩάϥϛϯάݴޠͷιʔείʔυ໘നͦ͏͔ʁʯͱࢥͬͯΒ͏ 1)1ͷ৽ػೳΛ௨ͯ͡QIQTSDʹೖͯ͠Έ·͠ΐ͏
୍ ܒلʢ28ࡀʣ ͖͋ X: @aki_artisan ؔPHPษڧձओ࠵ PHPerྺͨͿΜ7͘Β͍ ը૾ɿPHPerKaigi
ύΠϓԋࢉࢠͱ
ͦͦʮԋࢉࢠʯͬͯ w ͻͱͭҎ্ͷ͔ΒผͷΛੜΈग़͢ͷ w B ʢՃࢉࢠʣ w ˠʢࢉज़ԋࢉࢠʣ w
DPOEJUJPO IPHFGVHBʢ݅ԋࢉࢠʣ w IUUQTXXXQIQOFUNBOVBMKBMBOHVBHFPQFSBUPSTQIQ
ύΠϓԋࢉࢠͷՃ w 1)1ͰՃ͞Ε߲ͨԋࢉࢠ w ࠨลʹࣜɺӈลʹύϥϝʔλΛͻͱͭऔΔDBMMBCMFΛͱΔ w TUSUPVQQFS bIPHF ͱॻ͘ͷͱɺIPHFcTUSUPVQQFS ʜ
ͱॻ͘ͷ͕ ಉ͡ҙຯʹͳΔ w ԋࢉࢠͷՃ1)1ͷ/VMMηʔϑԋࢉࢠ Ҏདྷ
DBMMBCMF w ݺͼग़͠ՄೳͳԿ͔Λද͢ܕ w 1)1Ͱ͍ΖΜͳͷ͕ίʔϧͰ͖Δ w Ϋϩʔδϟʔ w ໊ؔΛද͢จࣈྻ UJNF
w IUUQTXXXQIQOFUNBOVBMKBMBOHVBHFUZQFTDBMMBCMFQIQ
ࣜ w ʢͪΌΜͱઆ໌͢Δͷ͕͍͘͢͝͠ʣ w ʮ࠷؆୯Ͱ࠷ਖ਼֬ͳࣜͷఆٛɺ͕͋ΔͷશͯͰ͢ʯ ʢ1)1ݴޠϦϑΝϨϯεʣ w ͬ͞ͺΓΘ͔Βͳ͍😅 w ͬ͘͟Γݴ͑ɺͳͲͷͦͷͷɺBͳͲͷมɺBͳͲͷԋ
ࢉࢠΛؚΉͷͳͲ
ࣜͱจ w จલͷηϛίϩϯʢ͘͠ɺ1)1։࢝λάʣ͔Βɺ ηϛίϩϯͰऴΘΔ෦·Ͱ w B w Λฦ͞ͳ͍ w
B C ͱॻ͚ͳ͍ w ରͯ͠ɺB C ͱॻ͚ΔɻC͕ࣜͰ͋ΔͨΊɻ w ҙຯͳ͍͕ͱ͍͏จจ๏తʹڐ༰͞ΕΔ
༨ஊʣೖࣜΛฦ͢ w Bͱ͍͏ࣜʢೖࣜʣͱ͍͏Λฦ͢ w FDIP B ͕ग़ྗ͞ΕΔ w σϞ
w ؔݺͼग़͕͠ೖΕࢠʹͳΔͱ͖ʹಡΈ͘͢ͳΔ ύΠϓԋࢉࢠͷ༻్ #FGPSF "GUFS
͜͜·Ͱͷ·ͱΊ w ԋࢉࢠɺΛड͚औͬͯΛฦ͢ͷ w ύΠϓԋࢉࢠ1)1ͰՃ͞Ε߲ͨԋࢉࢠ w ؔͷೖΕࢠߏΛಡΈ͘͢͢Δͷʹ͑Δ
1)1Ͳ͏ιʔείʔυΛॲཧ͠ ͍ͯΔ͔
ԋࢉࢠͷ࣮Λ͘લʹ w ·ͣɺ1)1͕ͲͷΑ͏ʹಈ͍͍ͯΔ͔ܰ͘Δඞཁ͕͋Δ w HJUIVC্ʹιʔείʔυ͕ެ։͞Ε͍ͯΔ w IUUQTHJUIVCDPNQIQQIQTSD w $ݴޠͰॻ͔Ε͍ͯΔ
;FOE&OHJOF w 1)1ͷݴޠॲཧܥ w 4"1*Λܦ༝ͯ͠;FOE&OHJOFʹ1)1ίʔυύϥϝʔλ͕͞ΕΔ ʢࠓճɺৄࡉׂѪʣ -FYFS 1BSTFS $PNQJMFS 7.
τʔΫϯྻ "45 PQDPEF 1)1ίʔυ
-FYFS w ࣈ۟ղੳ w ιʔείʔυΛτʔΫϯྻʹ͢Δ w τʔΫϯͱιʔείʔυ্Ͱ࠷খͷҙຯͷ͋Δ୯Ґʢ୯ޠΈ͍ͨͳ୯Ґʣ w B
w ʮ͜͜Ͱ͖ͷΛ͵͍Ͱ͍ͩ͘͞ʯࣈ۟ղੳ͕͍͠ w ;FOE[FOE@MBOHVBHF@TDBOOFSM
τʔΫϯ w UPLFO@HFU@BMM ͰτʔΫϯྻΛՄࢹԽͰ͖Δ w σϞ w ͱͰࣈ۟ղੳͷ݁Ռ͕ҟͳΔ
w ߏจղੳ w τʔΫϯྻ͔Β"45Λग़ྗ͢Δ w "CTUSBDU4ZOUBY5SFFʢநߏจʣ w ʮ͍ͷࠇ͍؟ͷେ͖ͳগঁʯ ߏจղੳ͕͍͠ w
;FOE[FOE@MBOHVBHF@QBSTFSZ 1BSTFS IUUQTMFBEJOHFDPKQSE
$PNQJMFSͱ7. w ίϯύΠϥʔͰ"45Λ͞ΒʹPQDPEFͱ͍͏தؒදݱʹม͢Δ w ;FOE7.͕PQDPEFΛ࣮ߦ͢Δ͜ͱͰ1)1͕࠷ऴతʹ࣮ߦ͞ΕΔ w ग़ྗ4"1*ͷϋϯυϥʔΛݺͼग़ͯ͠ߦ͏ w ;FOE[FOE@DPNQJMFD w
;FOE[FOE@FYFDVUFD
͜͜·Ͱͷ·ͱΊ w 1)1ɺࣈ۟ղੳˠߏจղੳˠίϯύΠϧˠ࣮ߦͱ͍͏ྲྀΕͰ࣮ߦ͞ΕΔ -FYFS 1BSTFS $PNQJMFS 7. τʔΫϯྻ "45 PQDPEF
1)1ίʔυ
7-%ΛͬͯPQDPEFΛݟΔ
7-%ͱ w PQDPEFΛग़ྗ͢Δπʔϧ w 7VMDBO-PHJD%VNQFS w IUUQTEFSJDLSFUIBOTOMQSPKFDUTIUNMWME w IUUQTHJUIVCDPNEFSJDLSWME
7-%Ͱग़ྗͨ͠PQDPEFʢύΠϓԋࢉࢠͳ͠ʣ <?php echo strtoupper('hello');
<?php echo 'hello pipe!' |> strtoupper(...); 7-%Ͱग़ྗͨ͠PQDPEFʢύΠϓԋࢉࢠ͋Γʣ
PQDPEFͷൺֱ w PQDPEFͱͯ͠ΦϖϥϯυҎ֎શ͘ಉҰ w ͭ·Γɺ7.ʹ͞ΕΔPQDPEFͷ࣌Ͱؔݺͼग़͠ͱಉ͡ॲཧʹͳͬͯ ͍Δ🕵 w %PDLFSίϯςφͰࢼͤΔڥΛ࡞Γ·ͨ͠ w IUUQTHJUIVCDPNUBLJHBXBBLJOPSJQIQWME
͜͜·Ͱͷ·ͱΊ w PQDPEF7-%ΛͬͯμϯϓͰ͖Δ w ύΠϓԋࢉࢠͱؔݺͼग़͠ͰɺPQDPEF͕ಉҰʹͳΔ
ύΠϓԋࢉࢠͷ࣮
ύΠϓԋࢉࢠͷ1VMM3FRVFTU w ֘ͷϓϧϦΫ w IUUQTHJUIVCDPNQIQQIQTSDQVMM w มߋߦ w ͏ͪςετߦςετ
w ओཁͷػೳ෦ߦ΄ͲͰ࣮ݱ͞Ε͍ͯΔ
ύΠϓԋࢉࢠͷ1VMM3FRVFTU w มߋ w MFYFSͱQBSTFSͱDPNQJMFS w ςετϑΝΠϧͷՃ w /&84ͱ61(3"%*/(
ύΠϓԋࢉࢠͷ࣮ͷ͋Β·͠ w -FYFSͰcΛ5@1*1&τʔΫϯͱͯ͠ड͚औΕΔΑ͏ʹ͢Δ w 1BSTFSͰ5@1*1&τʔΫϯΛड͚औͬͨΒ;&/%@"45@1*1&ϊʔυΛ࡞Δ w $PNQJMFSͰ;&/%@"45@$"--ͳͲͷݺͼग़͠ͷϊʔυʹஔ͖͑Δ -FYFS 1BSTFS $PNQJMFS
7. τʔΫϯྻ "45 PQDPEF 1)1ίʔυ มߋ
ॲཧͷ֩৺෦ w $PNQJMFSͰ;&/%@"45@$"--ͳͲͷݺͼग़͠ͷϊʔυʹஔ͖͑Δ w ύΠϓԋࢉࢠͷOPEF͕དྷͨͱ͖ɺಉ͡ҙຯʹͳΔݺͼग़͠ͷϊʔυʹஔ ͖͍͑ͯΔ w ݺͼग़͠ͷϊʔυʹஔ͖͑ͯ͠·͑ɺ ͦͷઌͷॲཧͰैདྷͱಉ͡ݺͼग़͠ͷPQDPEF͕ग़ྗ͞ΕΔ w
7-%Ͱ֬ೝͨ͠ࣄ࣮ͱҰகʂ
[FOE@DPNQJMF@FYQS w ࠶ؼతʹ[FOE@DPNQJMF@FYQSΛݺͼग़͠ w OPEF͕ͦΕͧΕࢠͱͳΔOPEFΛ͍࣋ͬͯΔ w ߲ԋࢉࢠͰ͋ΕɺMFGUͱSJHIU͕͋Δ w ύΠϓԋࢉࢠͷϊʔυͰ͋Εɺ [FOE@DPNQJMF@FYQS@JOOFSͳͲΛܦ༝ͯ͠
[FOE@DPNQJMF@QJQF͕ݺΕΔ
[FOE@DPNQJMF@QJQF w GDBMM@BTUͱ͍͏ؔݺͼग़͠ͷϊʔυʹม͔͑ͯΒɺ [FOE@DPNQJMF@WBSʹ͍ͯ͠Δ ࡞͍ͬͯΔOPEF;&/%@"45@$"--
·ͱΊ ύΠϓԋࢉࢠͷॲཧ -FYFSͱ1BSTFSͰύΠϓԋࢉࢠͷϊʔυΛ࡞ΕΔΑ͏ʹ͠ɺ $PNQJMFSͰύΠϓԋࢉࢠͷϊʔυΛݺͼग़͠ͷϊʔυʹஔ͢Δ͜ͱͰ ࣮ݱ͞Ε͍ͯΔ
࣌ؒ༨Ε
HECͰ1)1ͷίϯύΠϧॲཧΛͬͯΈΔ w [FOE@DPNQJMF@QJQFʹḷΓண͘·Ͱ
͓͢͢Ίͷࢿྉ
ࠓճɺௐࠪʹཱͬͨπʔϧɾαʔϏε w %FFQ8JLJ w (%# w 7-% w 1)1ϚχϡΞϧ
1)1ʹ৽͍͠ԋࢉࢠΛ࣮͢ΔνϡʔτϦΞϧ w IUUQTCMPHTIJOYDPNFOUSZJNQMFNFOUJOHUIFSBOHFPQSBSBUPSJO QIQ w ࣮ࡍʹखΛಈ͔ͯ͠ɺ3BOHFԋࢉࢠΛՃͰ͖Δ w ʢࠓճ1)1ʹೖͬͨcԋࢉࢠͱඃΔͷͰɺҧ͏จࣈͰదٓಡΈସ͑Δඞཁ ͕͋Δʣ
(PݴޠͰͭ͘ΔΠϯλϓϦλ w ࣈ۟ղੳߏจղੳΛθϩ͔Βཧղ͢Δͷʹ ͱͯॿ͚ʹͳΔ w ະ༁͕ͩɺίϯύΠϥΛ࡞Δଓฤ͋Δ
QIQGQN QIQ ΛϏϧυͯ͠HECͰσόοά࣮ߦͰ͖Δ%PDLFS$PNQPTFڥ Λ࡞ͬͨ w IUUQTCMPHTIJOYDPNFOUSZHECQIQ w HECͷ͍ํͳͲৄ͍͠
QIQTSDΛಡΜͰΈΑ͏ w IUUQTGPSUFFKQQIQDPOQSPQPTBM BEEGEGDFDDD w ͬͱৄ͘͠QIQTSDͷಡΈํΛղઆ͍ͯ͠Δ
5IBOLZPV