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
2014年12月21日社内勉強会_PHP界隈のトレンド / 2014-12-21_02_gro...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
GROWGENT Inc.
December 21, 2014
Technology
0
3k
2014年12月21日社内勉強会_PHP界隈のトレンド / 2014-12-21_02_growgent_corpstudyevents
2014年12月21日に実施された社内勉強会の発表資料です。
2014年12月頃までに各種勉強会/カンファレンスやインタネット上で収拾した「PHPの今」について、軽くまとめてみました。
GROWGENT Inc.
December 21, 2014
Tweet
Share
More Decks by GROWGENT Inc.
See All by GROWGENT Inc.
20150314_社内勉強会資料_イマサラでもいいぢゃない!Webアプリケーションとは? / 20150314-growgent-corpstudyevents
growgent
0
120
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
15 years with Rails and DDD (AI Edition)
andrzejkrzywda
0
200
usermode linux without MMU - fosdem2026 kernel devroom
thehajime
0
240
Bedrock PolicyでAmazon Bedrock Guardrails利用を強制してみた
yuu551
0
260
今こそ学びたいKubernetesネットワーク ~CNIが繋ぐNWとプラットフォームの「フラッと」な対話
logica0419
3
280
AIエージェントに必要なのはデータではなく文脈だった/ai-agent-context-graph-mybest
jonnojun
1
230
ブロックテーマでサイトをリニューアルした話 / 2026-01-31 Kansai WordPress Meetup
torounit
0
480
SREじゃなかった僕らがenablingを通じて「SRE実践者」になるまでのリアル / SRE Kaigi 2026
aeonpeople
6
2.5k
制約が導く迷わない設計 〜 信頼性と運用性を両立するマイナンバー管理システムの実践 〜
bwkw
3
1k
モダンUIでフルサーバーレスなAIエージェントをAmplifyとCDKでサクッとデプロイしよう
minorun365
4
220
顧客の言葉を、そのまま信じない勇気
yamatai1212
1
360
SREチームをどう作り、どう育てるか ― Findy横断SREのマネジメント
rvirus0817
0
330
こんなところでも(地味に)活躍するImage Modeさんを知ってるかい?- Image Mode for OpenShift -
tsukaman
1
170
Featured
See All Featured
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
330
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
52k
Technical Leadership for Architectural Decision Making
baasie
2
250
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
110
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
The SEO identity crisis: Don't let AI make you average
varn
0
330
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
1.9k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
71k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
240
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.6k
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
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ