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
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
Kiro入門|仕様駆動開発で変わるAI時代の開発スタイル
cmkudo
0
210
DDDのエッセンスを取り入れたAIでの開発
ak2ie
0
150
도구에서 동료까지: 10년차 AI 스타트업의 AI 적응기
inureyes
PRO
1
250
ハーレムエンジニアリング
kazuma777777
0
190
会社紹介資料 / Sansan Company Profile
sansan33
PRO
24
430k
20分でわかるセキュアAPI
nwiizo
2
310
属人化を叩き割れ!「制作加速」と「安定化」の矛盾を打破する:8年目プロダクトが辿り着いた「ミスが起こり得ない」アセット制作フローの全貌
gree_tech
PRO
0
110
【GCC2026】大規模言語モデルを活用した内製検索サービスの社内展開や業務活用
bandainamcostudios
PRO
0
330
AI-DLC実践録_フルサイクル開発への挑戦
miyuc
0
300
AI・HPC開発を支えるGPU環境の新しい選択肢 液冷GPUシステム「AquSys」の取り組み
gpuunite_official
0
130
AIで変わるエンジニアの働き方(仮)
naoinaoi
0
180
ブラウザ研修 2026
recruitengineers
PRO
7
1.3k
Featured
See All Featured
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
470
Code Reviewing Like a Champion
maltzj
528
40k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
The Curse of the Amulet
leimatthew05
2
14k
Balancing Empowerment & Direction
lara
6
1.2k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Making Projects Easy
brettharned
120
6.7k
Abbi's Birthday
coloredviolet
3
9.4k
Exploring anti-patterns in Rails
aemeredith
3
470
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
250
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
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ