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
September 14, 2019
Technology
0
520
はじめてのモダンPHP
polidog
September 14, 2019
Tweet
Share
More Decks by polidog
See All by polidog
小さな開発会社を作った理由
polidog
1
2.2k
小さな開発会社がWebサービスを作る理由
polidog
1
470
トランザクションスクリプトは何がダメなのか?
polidog
2
2.7k
React初心者がHooksを理解するためにコードを読んでみた
polidog
0
460
object-mapperを作ってる話
polidog
0
280
2020年から始めるSymfonyフレームワーク
polidog
2
1.2k
ソフトウェア設計は難しくない
polidog
3
920
柔軟なアプリケーションをSymfonyで作るために考えている事
polidog
1
2.9k
Symfonyのキャッシュについて
polidog
2
620
Other Decks in Technology
See All in Technology
アプリをリリースできる状態に保ったまま 段階的にリファクタリングするための 戦略と戦術 / Strategies and tactics for incremental refactoring
yanzm
6
540
RAGHack: Building RAG apps in Python
pamelafox
0
160
Evolving DevOps Teams and Flexible Organizational Culture
kakehashi
1
250
Agile in Automotive Industry, puzzles and lights.
hiranabe
0
150
Oracle Base Database Service:サービス概要のご紹介
oracle4engineer
PRO
0
13k
ロボットアームを遠隔制御の話 & LLMをつかったIoTの話もしたい
soracom
PRO
1
260
音声AIエージェントの世界とRetell AI入門 / Introduction to the World of Voice AI Agents and Retell AI
rkaga
4
890
Oracle Exadata Database Service(Dedicated Infrastructure):サービス概要のご紹介
oracle4engineer
PRO
0
9.5k
SORACOMで実現するIoTのマルチクラウド対応 - IoTでのクリーンアーキテクチャの実現 -
kenichirokimura
0
340
React Aria で実現する次世代のアクセシビリティ
ryo_manba
4
1k
JEP 480: Structured Concurrency
aya_ebata
0
120
Analytics-Backed App Widget Development - Served with Jetpack Glance
miyabigouji
0
200
Featured
See All Featured
The Brand Is Dead. Long Live the Brand.
mthomps
53
37k
Speed Design
sergeychernyshev
21
420
How To Stay Up To Date on Web Technology
chriscoyier
786
250k
RailsConf 2023
tenderlove
27
800
A designer walks into a library…
pauljervisheath
201
24k
The Cult of Friendly URLs
andyhume
76
5.9k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
GitHub's CSS Performance
jonrohan
1029
450k
Testing 201, or: Great Expectations
jmmastey
36
7k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
248
20k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
45
4.8k
Bash Introduction
62gerente
608
210k
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Ͱ։ൃ͢Δҙຯ
࿑ಇ࣌ؒΛݮΒͨ͢Ί
ɹ?>