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 の現場から
Search
shin1x1
July 15, 2017
Technology
5
4k
PHP の現場から
2017/07/15 PHP カンファレンス関西 2017
https://2017.kphpug.jp/
shin1x1
July 15, 2017
Tweet
Share
More Decks by shin1x1
See All by shin1x1
php-fpm がリクエスト処理する仕組みを追う / Tracing-How-php-fpm-Handles-Requests
shin1x1
6
3.4k
PHP ユーザのための OpenTelemetry 入門 / phpcon2024-opentelemetry
shin1x1
3
2k
PHPコードの実行モデルを理解する / Understanding-the-PHP-Execution-Model
shin1x1
2
2.5k
制約の力 - 状態を限定する -
shin1x1
5
5.1k
Apple Silicon Mac 時代の PHP 開発環境構築 2021 / php-dev-env-on-m1-mac-era
shin1x1
2
4.7k
Docker イメージのマルチアーキテクチャビルド / docker-muti-arch-build
shin1x1
1
490
Domain modeling with PHP / domain-modeling-with-php-en
shin1x1
1
260
ドメインをモデリングしてPHPコードに落とし込む / domain-modeling-with-php8
shin1x1
15
7.2k
PHP 8 で作る JSON パーサ / php8-json-parser
shin1x1
2
3.8k
Other Decks in Technology
See All in Technology
Swiftは最高だよの話
yuukiw00w
2
280
Things you never dared to ask about LLMs — v2
glaforge
1
470
toittaにOpenTelemetryを導入した話 / Mackerel APM リリースパーティ
cohalz
1
450
面接を通過するためにやってて良かったこと3選
sansantech
PRO
0
110
Oracle Database オプティマイザ・ヒントの活用
oracle4engineer
PRO
1
130
超簡単!RAGアプリケーション構築術
oracle4engineer
PRO
0
110
継続戦闘能⼒
sansantech
PRO
0
200
Introduction to Bill One Development Engineer
sansan33
PRO
0
230
スプリントゴールで価値を駆動しよう
takufujii
3
1.6k
“⾞が通れるほど⼤きな”セキュリティーホールを抑えながらログインしたい
taiseiue
0
130
Roo Codeにすべてを委ねるためのルール運用
pharma_x_tech
1
190
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
740
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
172
14k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.4k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
The World Runs on Bad Software
bkeepers
PRO
68
11k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
The Straight Up "How To Draw Better" Workshop
denniskardys
233
140k
For a Future-Friendly Web
brad_frost
178
9.7k
Docker and Python
trallard
44
3.4k
A Modern Web Designer's Workflow
chriscoyier
693
190k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
Site-Speed That Sticks
csswizardry
7
580
Build The Right Thing And Hit Your Dates
maggiecrowley
35
2.7k
Transcript
ɹ!shin1x1 2017//15 PHPΧϯϑΝϨϯεؔ 1)1ͷݱ͔Β
http://php-genba.shin1x1.com/
D .BTBTIJ4IJOCBSB!TIJOY ΞδΣϯμ wॆ࣮ͨ͠υΩϡϝϯτ wܕΛ໌ࣔͰ͖ΔεΫϦϓτݴޠ wΦϒδΣΫτࢦ։ൃݴޠ wεςʔτϨεͳϥϯλΠϜ w1)1ͷࢥ
ॆ࣮ͨ͠ υΩϡϝϯτ
http://php.net/
http://ja.phptherightway.com/
ܕΛ໌ࣔͰ͖Δ εΫϦϓτݴޠ
None
&MPRVFOU 3FQPTJUPSZ <?php function something(int $i): Foo {} something(1)->method(); ܕએݴ
&MPRVFOU 3FQPTJUPSZ <?php // PHP 7.1 function something(?int $i): ?Foo
{} // PHP 7.0 ҎԼ function something(int $i = null): Foo {} ܕએݴʢOVMMBCMFʣ
D .BTBTIJ4IJOCBSB!TIJOY ܕΛ໌ࣔ͢Δ wҙਤ͠ͳ͍ʢܕʣΛ͙ wίʔυͷҙਤΛ໌֬ʹʢ*%&ʹڭ͑Δʣ w҉తมΛ͙
D .BTBTIJ4IJOCBSB!TIJOY ܕͷݕࠪ w*%&ʢ1IQ4UPSN/FU#FBOTʣ w1IBOͳͲͷ੩తղੳπʔϧ wࣗಈςετ
ΦϒδΣΫτࢦ։ൃݴޠ
D .BTBTIJ4IJOCBSB!TIJOY ΦϒδΣΫτࢦ։ൃݴޠ wΫϥεɺܧঝɺΧϓηϧԽ wܕએݴ wΠϯλʔϑΣΠεɺநΫϥε wྫ֎ɺτϨΠτ
D .BTBTIJ4IJOCBSB!TIJOY ׆༻Ͱ͖Δڥ w044ͷϥΠϒϥϦɺϑϨʔϜϫʔΫ w%%%ͷྲྀߦʹΑΔ001ͷ࠶ධՁ wใɺϊϋͷެ։
D .BTBTIJ4IJOCBSB!TIJOY 1)1ݴޠػೳͰͷ׆༻ wෳࡶͳ࣮ΛӅͯ͠ɺ୯७ͳݴޠػೳͰར༻ w"SSBZ"DDFTT<>ʹΑΔཁૉΞΫηε w5SBWFSTBCMFGPSFBDIͰΠςϨʔτ
&MPRVFOU 3FQPTJUPSZ <?php class FooCollection implements \ArrayAccess { // (snip)
} $collection = new FooCollection(); $collection['key1'] = 'foo'; $value = $collection[‘key1']; "SSBZ"DDFTT
s &MPRVFOU 3FQPTJUPSZ <?php class BarCollection implements \IteratorAggregate { //
(snip) } $collection = new BarCollection(); foreach ($collection as $v) { echo $v; } 5SBWFSTBCMF *UFSBUPS"HHSFHBUF
εςʔτϨεͳ ϥϯλΠϜ
D .BTBTIJ4IJOCBSB!TIJOY 1)1ͷ࣮ߦNPE@QIQQIQGQN )551ϦΫΤετདྷΔ 1)1ίʔυΛίϯύΠϧʢPQDPEFੜʣ ࣮ߦڥΛॳظԽ PQDPEFΛ࣮ߦ )551Ϩεϙϯεฦ͢
D .BTBTIJ4IJOCBSB!TIJOY 1)1ͷ࣮ߦNPE@QIQQIQGQN )551ϦΫΤετདྷΔ 1)1ίʔυΛίϯύΠϧʢPQDPEFੜʣ ࣮ߦڥΛॳظԽ PQDPEFΛ࣮ߦ )551Ϩεϙϯεฦ͢ 01$BDIFͰΩϟογϡ
D .BTBTIJ4IJOCBSB!TIJOY 1)1ͷ࣮ߦNPE@QIQQIQGQN )551ϦΫΤετདྷΔ 1)1ίʔυΛίϯύΠϧʢPQDPEFੜʣ ࣮ߦڥΛॳظԽ PQDPEFΛ࣮ߦ )551Ϩεϙϯεฦ͢
D .BTBTIJ4IJOCBSB!TIJOY εςʔτϨεͳϥϯλΠϜ w୯ҰϦΫΤετͰด͍ͯ͡Δ wϦΫΤετຖʹϦηοτ wԿڞ༗͠ͳ͍ɺԿ͞ͳ͍
D .BTBTIJ4IJOCBSB!TIJOY ϝϦοτ wϦΫΤετͰඞཁͳϝϞϦ͔͠Θͳ͍ wϝϞϦϦʔΫɺ($͕ى͜Γʹ͍͘ w͏͔ͬΓσʔλΛڞ༗ͯ͠ͷࣄނ͕ແ͍ wΞϓϦέʔγϣϯ։ൃʹ͚ͩूதͰ͖Δ
D .BTBTIJ4IJOCBSB!TIJOY ࠓͷைྲྀͱͷੑ wΫϥυɺαʔόʔϨε w͏ͱ͖ʹੜɺऴΘͬͨΒഁغ w5IF5XFMWF'BDUPS"QQ
1)1ͷࢥ
1)1ࣃϒϥγ ͷΑ͏ͳͷͰ͢ ϥεϚεɾϥʔυϑ https://www.sitepoint.com/phps-creator-rasmus-lerdorf/
ʮ1)1ͱ͍͏ݴޠΛ࡞Ζ͏ʯ ͱߟ͑ͯ࡞ͬͨͷͰ͋Γ·ͤΜɻ ʮΛղܾ͢ΔͨΊͷπʔϧΛ࡞Ζ͏ʯ ͱࢥͬͯ࡞͍ͬͯ·ͨ͠ɻ ϥεϚεɾϥʔυϑ http://gihyo.jp/news/interview/2010/rasmus
1)1πʔϧ
୭͕͑Δπʔϧ
1)1ܨ͙ݴޠ
1)1ΤϯδχΞΑ ڳΛுΕ
D .BTBTIJ4IJOCBSB!TIJOY !TIJOY !TIJOY D .BTBTIJ4IJOCBSB!TIJOY