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
2014年12月21日社内勉強会_PHP界隈のトレンド / 2014-12-21_02_gro...
Search
GROWGENT Inc.
December 21, 2014
Technology
3k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
2014年12月21日社内勉強会_PHP界隈のトレンド / 2014-12-21_02_growgent_corpstudyevents
2014年12月21日に実施された社内勉強会の発表資料です。
2014年12月頃までに各種勉強会/カンファレンスやインタネット上で収拾した「PHPの今」について、軽くまとめてみました。
GROWGENT Inc.
December 21, 2014
More Decks by GROWGENT Inc.
See All by GROWGENT Inc.
20150314_社内勉強会資料_イマサラでもいいぢゃない!Webアプリケーションとは? / 20150314-growgent-corpstudyevents
growgent
0
130
2015年1月10日_第1回G-Study発表資料_01_表現力ー非言語コミュニケーションの極意ー / 20150110_g-study_01
growgent
0
3k
2015年1月10日_第1回G-Study発表資料_02_本当は怖(くな)いOSS開発 / 20150110_g-study_02
growgent
0
3k
2015年1月10日_第1回G-Study発表資料_03_自己紹介と今までのこと / 20150110-g-study-03
growgent
0
130k
2015年1月10日_第1回G-Study発表資料_04_付加価値力-そして職業エンジニアからの脱出へ…… / 20150110-g-study-04
growgent
0
190k
2014年12月21日社内勉強会_開発者が知っておきたいインフラの話 / 2014-12-21_01_growgent-corpstudyevents
growgent
0
3k
Other Decks in Technology
See All in Technology
アウトプット初心者、半年間のふりかえり
4o1sobblue
0
440
ソフトウェア ファクトリー - 再現性のあるソフトウェアの工場づくり / Software factory
iktakahiro
6
5k
コンテナ運用におけるネットワーク・コンテナコストの削減方法/How to Reduce Network and Container Costs in Container Operations
masakiokuda
1
250
フロントエンドカンファレンス関西2026 - 速すぎるUIに、待ち時間を
teamlab
PRO
0
170
無理せず続ける、子育てエンジニアの学び
codmoninc
PRO
0
930
DevelopersIO 2026 知識の地図を描く ─ オントロジーとは何か?
ishikawa_satoru
1
1.7k
しろおびから始める!ログ活用の第一歩
shumei_ito
0
950
JAWSUG TOHOKU 青森支部 「LoGoチャット」のAWS移行で 乗り越えたこと
taketakekaho
0
340
Running Kotlin + Quarkus with Lambda
nealle
1
3.8k
Kiro Crewをはじめよう
kizawa2020
1
160
AI コーディングと人間の認知スループット / CTO Night & Day 2026 Morning Session / AI Coding and Human Cognitive Throughput
prog893
4
1.2k
ウォンテッドリーの最近のプロダクトと技術の紹介
stomk
0
120
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
433
67k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
300
Mobile First: as difficult as doing things right
swwweet
225
10k
Speed Design
sergeychernyshev
33
2.2k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
2
950
My Coaching Mixtape
mlcsv
0
360
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
620
[SF Ruby Conf 2025] Rails X
palkan
3
1.5k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
530
Automating Front-end Workflow
addyosmani
1369
210k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.7k
A Soul's Torment
seathinner
8
3.8k
Transcript
PHPք۾ͷTrend 201412݄ۙลͷ͓
ࣗݾհ ϋϜελʔͱϖϖϩϯνʔϊΛ͜Αͳ͘ Ѫ͢ΔࣗশGNU/LinuxˍPHP͍ͷΤϯ δχΞ גࣜձࣾάϩʔδΣϯτͱ͍͏ձࣾͰ͓ ࣄͯ͠·͢ɻ ͓ࣄPHPͳWebΞϓϦͱGNU/Linux ͳαʔόؔ࿈ͷ͋Ε͜Ε PHP͚ϑϨʔϜϫʔΫʮRisolutoʯͷ ࣗশϓϩϚωͬͯ·͢
ৄͪ͘͜͠Βʂ http://about.me/yuta.hayakawa
ຊͷ͓ PEARࣺͯͯComposerΛ͓͏ ಠࣗͷίʔσΟϯάنࣺͯͯPSRΛ͓͏ ͏͍ͳΜͯݴΘͤͳ͍ʢʁʣPHP7ʹظ͠Α͏
͡ΊʹComposerͷ͓
PEARͬͯͳΜ͚ͩͬʁ ੲ͔Βଘࡏ͢ΔPHP͚ϥΠϒϥϦͷΞϨ http://pear.php.net/ PEAR2ͬͯͷ͋ΔΑʂʢ໊͍͚Ͳʣ http://pear2.php.net/ CͰॻ͔ΕͨPECLͬͯͷ͋ΔΑͶ http://pecl.php.net/ جຊγεςϜʹΠϯετʔϧ Ϣʔβ୯ҐͰΠϯετʔϧ͢Δ͜ͱͰ͖ΔΑʂ
PEARͷΠέͯͳ͍ͱ͜Ζ جຊγεςϜʹΠϯετʔϧ͞ΕΔ͔ΒӨڹൣғ͕͘ͳ Γ͕ͪ ։ൃ͕ετοϓ͞Ε͍ͯΔͷେਿ ͏͚ͩͳΒͳ͍Μ͚ͩͲ…… ηΩϡϦςΟͱ͔ؾʹͳΔ͓ࠒ ࠷৽ͷPHPͰ͑ͳ͔ͬͨΓ͢Δͷ……ʁ ͏ͷʹ͍͍ͪͪinclude*require*ΛΘͳ͖Ό͍͚ͳ͍
ࠓ·Ͱ͜Ε͔͠ બࢶ͕ͳ͔ͬͨ ……ͦ͏ɺ͋ͷ່͕ొ͢Δ·Ͱ
None
Composerͱʁ جຊతʹPEARͱಉ͡Α͏ͳύοέʔδͷΞϨ ϢʔβϩʔΧϧʹΠϯετʔϧ͞ΕΔ composer.jsonΛॻ͍ͯίϚϯυҰൃ ґଘؔʹ͋Δύοέʔδউखʹ͖࣋ͬͯͯ͘ΕΔʂ Φʔτϩʔμඪ४උʂInclude*/require*ͱ͓͞Β ͩʂ ύοέʔδ͍Ζ͍Ζ PEAR/PEAR2Ұॹʹ͑ΔΑʂ
ComposerΛΘͳ͍ ཧ༝͕ͳ͍ΑͶʁ
ଓ͍ͯPSRͷ͓
PSRͱ PHP-FIF(PHP Framework Interop Group)͕ࡦఆ PSR͕Կͷུͳͷ͔͠Βͳ͍……͔ͬͯެࣜͷυΩϡϝϯτ͕ݟͨ Βͣ PHPؔ࿈ͷϓϩδΣΫτΛͬͯΔਓ͕ͨͪू·͍ͬͯΖ͍Ζͳج४Λܾ Ίͨ݁Ռͷ࢈ ϝϯόʔϦετΛݟΔͱ༗໊Ͳ͜ΖͷϓϩμΫτ͔Γ
ཁΠέͯΔ౷Ұ͞ΕͨίʔσΟϯάنΛܾΊͯΔͱ͜Ζ ͍͔ͭ͘छྨ͕͋ΔΑʂ PSR-0ʙ4·ͰAcceptedɺPSR-5/7ʙ9͕DraftɺPSR-6͕Review
ϝδϟʔͳϓϩμΫτͳਓ͕ͨͪؔΘͬͯΔΑʂ
PhpStormͳΒ؆୯ʹPSRΛ͑ΔʂʢεςϚʣ
֤PSRʹ͍ͭͯ؆୯ʹ͝հ
PSR-0ɿAutoloading Standard Φʔτϩʔμͷ͜ͱΛߟ͑ͨίʔσΟϯάن ໊લۭؒͷ໋໊نଇͱ͔ ͜͜࠷ۙPSR-4Ͱஔ͖͑ΒΕͨ
PSR-1ɿBasic Coding Standard جຊతͳίʔσΟϯάελΠϧ ։࢝λάΛͲ͏͢Δ͔ จࣈίʔυͷࢦఆ ΫϥεఆٛͳͲͱ෭࡞༻ͷ͋Δॲཧͷ Ϋϥε໊ʗΫϥεఆʗΫϥεϝιουͷωʔϛϯ άϧʔϧ PSR-0/4ͷ্ʹΓཱ͍ͬͯΔΑʂ
PSR-2ɿCoding Style Guide ίʔσΟϯάελΠϧΨΠυ Πϯσϯτͷํ๏ʗ1ߦͷ͞ վߦίʔυͷࢦఆ ੍ޚߏʢif/forͳͲʣͷॻ͖ํ ΫϥεʗϓϩύςΟʗϝιουͷॻ͖ํ ͳͲͳͲ PSR-1ͷ্ʹΓཱ͍ͬͯΔΑʂ
PSR-3ɿLogger Interface ϩάग़ྗؔ࿈ͷΞϨίϨ͕ఆΊΒΕ͍ͯΔ ී௨ͷίʔσΟϯάͰҙࣝ͢Δ͜ͱ͘͢ͳ͍͔ جຊతʹϑϨʔϜϫʔΫͱ͔࡞ͬͨΓ͢Δͱ͖ʹ४ ڌ͓ͯ͘͠ͱΑ͛͞ͳͷ
PSR-4ɿAutoloader PSR-0ͷஔ͖͑ PSR-0ΑΓ࣮༻త͔͍͍ͭ͢ͷʹͳ͍ͬͯΔ
PSR-5: PHPDoc PHPDocͷॻ͖ํʹ͍ͭͯఆΊΒΕ͍ͯΔ Ͳ͜ʹԿΛͲͷΑ͏ʹॻ͔͘
PSR-6:Caching Interface Ωϟογϡؔ࿈ͷΞϨίϨ͕ఆΊΒΕ͍ͯΔ ී௨ͷίʔσΟϯάͰҙࣝ͢Δ͜ͱ͘͢ͳ͍͔ جຊతʹϑϨʔϜϫʔΫͱ͔࡞ͬͨΓ͢Δͱ͖ʹ४ ڌ͓ͯ͘͠ͱΑ͛͞ͳͷ
PSR-7:HTTP message interfaces HTTPͳϝοηʔδؔ࿈ͷΞϨίϨ͕ఆΊΒΕ͍ͯΔ ී௨ͷίʔσΟϯάͰҙࣝ͢Δ͜ͱ͘͢ͳ͍͔ جຊతʹϑϨʔϜϫʔΫͱ͔࡞ͬͨΓ͢Δͱ͖ʹ४ ڌ͓ͯ͘͠ͱΑ͛͞ͳͷ
PSR-8:Huggable Interface ҟͳΔPHPͳϓϩδΣΫτΛ૬ޓར༻͢ΔͨΊͷΠ ϯλϑΣʔεఆٛʢʁʣ ී௨ͷίʔσΟϯάͰҙࣝ͢Δ͜ͱ͘͢ͳ͍͔ جຊతʹϑϨʔϜϫʔΫͱ͔࡞ͬͨΓ͢Δͱ͖ʹ४ ڌ͓ͯ͘͠ͱΑ͛͞ͳͷ
PSR-9:Security Disclosure ੬ऑੑͳͲͷηΩϡϦςΟʹؔ͢Δใ։ࣔࢦ ී௨ͷίʔσΟϯάͰҙࣝ͢Δ͜ͱ͘͢ͳ͍͔ جຊతʹϑϨʔϜϫʔΫͱ͔࡞ͬͨΓ͢Δͱ͖ʹ४ ڌ͓ͯ͘͠ͱΑ͛͞ͳͷ
ͱΓ͋͑ͣPSR-0ʙ2ɺ4Λ ҙ͓͚ࣝͯ͠Α͛͞ʂ
࠷ޙʹະདྷͷPHPʹ͍ͭͯͷ͓
PHP͍ʂ ……ͬͯΑ͘ݴΘΕΔ Ͱ͍ͩͿվળ͕ਐΜͰ͍ΔΑʂ PHP5.6ͱ͔͕ΜͬͯΔʂ HHVMͱ͔PHP-NGͱ͔ɺΑΓૣ͍PHP͕ผ࿏ઢ Ͱ։ൃ͞ΕͯͨΓ͢Δ ޓੑͱ͔ඍົʹ͋ͬͨΓͳ͔ͬͨΓ……
ͦΜͳঢ়گPHP7͕དྷΕ……
ૣ͍͍͘͜͜PHP7 PHPNGϕʔε ෦ߏΛվળ͢Δ͜ͱͰΞοϓʂ ϢʔβαΠυͰԿ͠ͳͯ͘ૣ͘ͳΔʢ͔ʣ ҰઆʹΑΔͱHHVMʹඖఢ͢ΔϨϕϧͩͱ͔ ਖ਼ࣜϦϦʔε2ޙ͘Β͍……ʁ
͓·͚ɿPHPͷݴޠ༷ࡦఆ͕ελʔτ GitHubͰٞ͞ΕͯͨΓ͢ΔΒ͍ͬ͢͠Α https://github.com/php/php-langspec ZendͳPHPͱͦΕҎ֎ʢHHVMʣͱͷޓੑ্͕ ͢Δ……͔ʁ
͓·͚ɿࢀߟࢿྉ PHP: The Right Way PHPʹؔ͢ΔϕετϓϥΫςΟε·ͱΊ PHPͷࠓͱ͜Ε͔Β2014 – SlideShare ҆શͳPHPΞϓϦέʔγϣϯͷ࡞Γํ2014
– SlideShare PHPNGͷಈ – SlideShare PHP Conference 2014ํ໘Ͱؾʹͳͬͨωλ
͓·͚ɿࢀߟࢿྉ php/php-langspec – GitHub PHPݴޠ༷ࡦఆͷ PSR-FIG PSRࡦఆͷ PSR-0, 1, 2Λຊޠʹ༁ͯ͠Έ·ͨ͠
–גࣜձࣾΠϯ ϑΟχοτϧʔϓٕज़ϒϩά ৽ඪ४PSRʹֶͿ͖Ε͍ͳPHP - SlideShare
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ