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
4.1k
PHP の現場から
2017/07/15 PHP カンファレンス関西 2017
https://2017.kphpug.jp/
shin1x1
July 15, 2017
Tweet
Share
More Decks by shin1x1
See All by shin1x1
抽象化という思考のツール - 開発現場での活用 - / Abstraction-as-a-Tool-for-Thinking-in-dev
shin1x1
0
110
抽象化という思考のツール - 理解と活用 - / Abstraction-as-a-Tool-for-Thinking
shin1x1
1
1.1k
php-fpm がリクエスト処理する仕組みを追う / Tracing-How-php-fpm-Handles-Requests
shin1x1
6
3.7k
PHP ユーザのための OpenTelemetry 入門 / phpcon2024-opentelemetry
shin1x1
3
2.2k
PHPコードの実行モデルを理解する / Understanding-the-PHP-Execution-Model
shin1x1
2
2.8k
制約の力 - 状態を限定する -
shin1x1
6
5.4k
Apple Silicon Mac 時代の PHP 開発環境構築 2021 / php-dev-env-on-m1-mac-era
shin1x1
2
4.8k
Docker イメージのマルチアーキテクチャビルド / docker-muti-arch-build
shin1x1
1
510
Domain modeling with PHP / domain-modeling-with-php-en
shin1x1
1
290
Other Decks in Technology
See All in Technology
"プロポーザルってなんか怖そう"という境界を超えてみた@TSUDOI by giftee Tech #1
shilo113
0
140
Where will it converge?
ibknadedeji
0
200
英語は話せません!それでも海外チームと信頼関係を作るため、対話を重ねた2ヶ月間のまなび
niioka_97
0
130
VCC 2025 Write-up
bata_24
0
180
【Oracle Cloud ウェビナー】クラウド導入に「専用クラウド」という選択肢、Oracle AlloyとOCI Dedicated Region とは
oracle4engineer
PRO
3
120
【Kaigi on Rails 事後勉強会LT】MeはどうしてGirlsに? 私とRubyを繋いだRail(s)
joyfrommasara
0
170
生成AIとM5Stack / M5 Japan Tour 2025 Autumn 東京
you
PRO
0
230
社内お問い合わせBotの仕組みと学び
nish01
1
500
Modern_Data_Stack最新動向クイズ_買収_AI_激動の2025年_.pdf
sagara
0
230
SwiftUIのGeometryReaderとScrollViewを基礎から応用まで学び直す:設計と活用事例
fumiyasac0921
0
150
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
2
5.5k
PLaMoの事後学習を支える技術 / PFN LLMセミナー
pfn
PRO
9
3.9k
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
525
40k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6.1k
Visualization
eitanlees
148
16k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Code Review Best Practice
trishagee
72
19k
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
45
2.5k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Bash Introduction
62gerente
615
210k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.5k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.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