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
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
ファインディの横断SREがTakumi byGMOと取り組む、セキュリティと開発スピードの両立
rvirus0817
1
1.6k
20260204_Midosuji_Tech
takuyay0ne
1
160
プロダクト成長を支える開発基盤とスケールに伴う課題
yuu26
4
1.4k
Oracle Cloud Observability and Management Platform - OCI 運用監視サービス概要 -
oracle4engineer
PRO
2
14k
M&A 後の統合をどう進めるか ─ ナレッジワーク × Poetics が実践した組織とシステムの融合
kworkdev
PRO
1
490
[CV勉強会@関東 World Model 読み会] Orbis: Overcoming Challenges of Long-Horizon Prediction in Driving World Models (Mousakhan+, NeurIPS 2025)
abemii
0
150
Tebiki Engineering Team Deck
tebiki
0
24k
Context Engineeringが企業で不可欠になる理由
hirosatogamo
PRO
3
660
今こそ学びたいKubernetesネットワーク ~CNIが繋ぐNWとプラットフォームの「フラッと」な対話
logica0419
4
330
Bedrock PolicyでAmazon Bedrock Guardrails利用を強制してみた
yuu551
0
260
Codex 5.3 と Opus 4.6 にコーポレートサイトを作らせてみた / Codex 5.3 vs Opus 4.6
ama_ch
0
190
AIと新時代を切り拓く。これからのSREとメルカリIBISの挑戦
0gm
2
3.1k
Featured
See All Featured
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.1k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
62
50k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
0
260
The Curious Case for Waylosing
cassininazir
0
240
BBQ
matthewcrist
89
10k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
140
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
230
The SEO identity crisis: Don't let AI make you average
varn
0
330
Leo the Paperboy
mayatellez
4
1.4k
Designing for humans not robots
tammielis
254
26k
Darren the Foodie - Storyboard
khoart
PRO
2
2.4k
Skip the Path - Find Your Career Trail
mkilby
0
58
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
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ