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_growgent_corpstudyevents
Search
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
110
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
2.9k
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
R3のコードから見る実践LINQ実装最適化・コンカレントプログラミング実例
neuecc
3
2.2k
On Your Data を超えていく!
hirotomotaguchi
2
750
The AI Revolution Will Not Be Monopolized: Behind the scenes
inesmontani
PRO
1
160
Babylon.jsと色々なものを組み合わせる:ブラウザのAPIやガジェットや2D描画ライブラリなど / Babylon.js 勉強会 vol.3
you
PRO
0
160
FrontDoorとWebAppsを組み合わせた際のリダイレクト処理の注意点
kenichirokimura
1
710
本当のAWS基礎
toru_kubota
1
620
Autonomous Database Cloud 技術詳細 / adb-s_technical_detail_jp
oracle4engineer
PRO
15
35k
BPStudyの200回を中心にIT業界を振り返る。そしてこれから
haru860
3
390
Microsoft for Startups Founders Hub_20240429 update
daikikanemitsu
1
2.4k
AOAI をきっかけに 社内の Azure 管理を見直した話
recruitengineers
PRO
1
450
EMとして2023年度に頑張ったこと / What we did well in FY2023 as a EM
pauli
1
210
開発生産性大幅アップ!Postman VS Code拡張機能
nagix
3
630
Featured
See All Featured
Faster Mobile Websites
deanohume
300
30k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
188
16k
Testing 201, or: Great Expectations
jmmastey
29
6.4k
Music & Morning Musume
bryan
41
5.6k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
20
1.7k
Building Adaptive Systems
keathley
32
1.9k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
275
13k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
65
14k
Learning to Love Humans: Emotional Interface Design
aarron
267
39k
Designing Experiences People Love
moore
136
23k
GraphQLとの向き合い方2022年版
quramy
33
12k
Debugging Ruby Performance
tmm1
70
11k
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
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ