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
polidog
PRO
September 14, 2019
Technology
0
670
はじめてのモダンPHP
polidog
PRO
September 14, 2019
Tweet
Share
More Decks by polidog
See All by polidog
小さな開発会社を作った理由(再)
polidog
PRO
0
130
React Server ComponentsでAPI不要の開発体験
polidog
PRO
1
450
小さな開発会社が受託開発に力を入れる理由
polidog
PRO
0
120
小さな開発会社を作った理由
polidog
PRO
1
3.1k
小さな開発会社がWebサービスを作る理由
polidog
PRO
1
700
トランザクションスクリプトは何がダメなのか?
polidog
PRO
2
3.8k
React初心者がHooksを理解するためにコードを読んでみた
polidog
PRO
0
550
object-mapperを作ってる話
polidog
PRO
0
350
2020年から始めるSymfonyフレームワーク
polidog
PRO
2
1.3k
Other Decks in Technology
See All in Technology
SoccerNet GSRの紹介と技術応用:選手視点映像を提供するサッカー作戦盤ツール
mixi_engineers
PRO
1
170
AWSにおけるTrend Vision Oneの効果について
shimak
0
130
BtoBプロダクト開発の深層
16bitidol
0
310
多野優介
tanoyusuke
1
430
GopherCon Tour 概略
logica0419
2
190
o11yで育てる、強い内製開発組織
_awache
3
120
自動テストのコストと向き合ってみた
qa
0
150
E2Eテスト設計_自動化のリアル___Playwrightでの実践とMCPの試み__AIによるテスト観点作成_.pdf
findy_eventslides
0
120
Function calling機能をPLaMo2に実装するには / PFN LLMセミナー
pfn
PRO
0
920
Escaping_the_Kraken_-_October_2025.pdf
mdalmijn
0
130
空間を設計する力を考える / 20251004 Naoki Takahashi
shift_evolve
PRO
3
330
業務自動化プラットフォーム Google Agentspace に入門してみる #devio2025
maroon1st
0
190
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
224
10k
4 Signs Your Business is Dying
shpigford
185
22k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
Bash Introduction
62gerente
615
210k
GraphQLとの向き合い方2022年版
quramy
49
14k
Build your cross-platform service in a week with App Engine
jlugia
232
18k
Building an army of robots
kneath
306
46k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
54
3k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Transcript
͡ΊͯͷϞμϯPHP Shizuoka.php #1 2019/09/14 @polidog
ࣗݾհ • @polidog • ౦ژࡏॅɺग़ਗ਼ਫ۠ • ύʔςΟʔϋʔυגࣜձࣾ औకɾϓϩάϥϚ • ͖ͳϑϨʔϜϫʔΫSymfony
• ࠷͍͍ۙͨϑϨʔϜϫʔΫBEAR Sunday • Vueͪΐ͍ͪΐ͍ॻ͍ͯ·͢
ϞμϯPHP?
None
http:// ja.phptherightway.com/
PHP The Right Way • ؾܰʹಡΊΔ(?)ΫΠοΫϦϑΝϨϯε • ϕετϓϥΫςΟε • ֤ݴޠʹ༁͞Ε͍ͯΔ(ͪΖΜຊޠ͋
Δ) • ϞμϯͷجૅͱͳΔ͜ͱ͕ࡌ͍ͬͯΔ
18ݸͷϓϥΫςΟε • ͡Ίʹ • ίʔσΟϯάελΠϧ • ݴޠ༷ͷϙΠϯτ • ґଘؔͷཧ •
ίʔσΟϯάʹؔ͢Δश׳ • ґଘੑೖ • σʔλϕʔε • ςϯϓϨʔτ • Τϥʔͱྫ֎ॲཧ • ηΩϡϦςΟ • ςετ • ֤छαʔόͷσϓϩΠ • ԾԽ • Ωϟογϡ • Documenting your CodeʢPHPDocʣ • ใݯ • ίϛϡχςΟ
ίʔσΟϯάελΠϧ
PSR1,2,4 • PSR1جຊίʔσΟϯάن • PSR2ίʔσΟϯάελΠϧΨΠυ • PSR4ΦʔτϩʔσΟϯάελϯμʔυ • ৄ͍͜͠ͱ͜ͷهࣄΛࢀর https://qiita.com/tadsan/items/
942a381e952e12a8fa5a
phpcs(PHP CodeSniffer) • ίʔυ͕४ڌ͍ͯ͠Δ͔νΣοΫͰ͖Δ • PHPStormvscodeͱ࿈ܞͰ͖Δ https://qiita.com/suin/items/ 8f00ccd58f0464fb9791 • phpcbfΛͬͯίʔυΛमਖ਼
php-cs-fixer • PSR1,2, SymfonyίʔσΟϯάنʹԊͬͨܗʹ मਖ਼ͯ͘͠ΕΔ • @PSR1,@PSR2,@SymfonyͳͲͷϧʔϧηοτ https://github.com/FriendsOfPHP/PHP-CS- Fixer/blob/ 681806863baec9d874dae95dd0f9eb3db44e
9b90/src/RuleSet.php
ґଘؔͷཧ
Comopser • npmbundlerΈ͍ͨͳͷ • composer.jsonʹґଘؔΛهड़͢Δ • PEAR͏5Ҏ্͍ͬͯͳ͍ • ຊ͔Βͩͱ͍ https://qiita.com/keitakn/items/
37f0fac49442b72c403e
None
Packagist • https://packagist.org/ • PHPͷύοέʔδΛ୳͢ҝͷαΠτ
None
ύοέʔδͷߋ৽ʹ͍ͭͯ • libraries.ioΛ͏ https://libraries.io/ • ηΩϡϦςΟνΣοΫSecurity Advisories CheckerΛ͏ https://security.symfony.com/
ґଘੑೖ
ґଘੑೖ • ӳޠͩͱDIͱ͔Dependency Injectionͱ͔ݴΘΕΔͭ • ࠷ۙͷϑϨʔϜϫʔΫʹDI͕͍͍ͩͨ༻ҙ͞Ε͍ͯΔ • ͍͠ͷͰଞͷDIͷઆ໌ΛಡΉ͖ https://polidog.jp/2019/06/08/di/
https://qiita.com/ritukiii/items/ de30b2d944109521298fɹ
ςετ
PHPUnitͰϢχοτςετΛॻ͘ • ϢχοτςετΫϥεϝιου͕ظ௨Γʹಈ͍͍ͯ Δ͔Λ։ൃதʹ͔֬ΊΔɻ • ςετํ๏ೋ௨Γ • ೖग़ྗͷظΛςετ͢Δ • ৼΔ͍Λ͔֬ΊΔͨΊͷςετ
• ςετͷจԽ͕ͳ͍ͷͳΒϢχοτςετΛ·ͣॻ͍ ͍ͯ͘ࣄ͕ॏཁ
Prophecy • ϞοΫΦϒδΣΫτϑϨʔϜϫʔΫ • εύΠํࣜͰςετͰ͖Δ • ࢀߟ https://qiita.com/Hiraku/items/ 326b58c586a134d2ea74
None
None
σϓϩΠ
DeployerΛ͏ • PHPͷσϓϩΠπʔϧ • σϓϩΠ༻ͷλεΫΛఆٛ͢Δ • ίϚϯυΛ࣮ߦ͢Δ͚ͩͰσϓϩΠͰ͖Δ • ֤छϑϨʔϜϫʔΫ༻ͷϨγϐ͕༻ҙ͞Ε͍ͯΔ •
جຊతͳ͍ํ https://www.tam-tam.co.jp/tipsnote/tool/post17066.html
CIΛͬͨσϓϩΠ • CIΛͬͯdeployerΛಈ͔͢ • ྫ͑CircleCIΛ͏߹ https://tech.quartetcom.co.jp/2017/01/04/ deployer-on-circleci/
ฐࣾͷσϓϩΠϑϩʔ PRͷ࡞ ϚʔδϘλϯԡ͢ deployer slackʹ௨
None
࠷ޙʹ
ϞμϯPHPͰ։ൃ͢Δҙຯ
࿑ಇ࣌ؒΛݮΒͨ͢Ί
ɹ?>