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
オートローディングでレガシーPHPと戦う
Search
Satoshi Kawashima
February 22, 2017
Programming
3
1.4k
オートローディングでレガシーPHPと戦う
属人的になってしまったディレクトリ構造をオートローディングを使って解決する、そんなお話です
Satoshi Kawashima
February 22, 2017
Tweet
Share
More Decks by Satoshi Kawashima
See All by Satoshi Kawashima
モジュラモノリスにおけるトランザクション設計の考え方 / transaction design on modular monolith
nazonohito51
16
9.5k
BASE大規模リアーキテクチャリング / base_rearchitecturing
nazonohito51
17
13k
既存サービスに後からR/W Splittingライブラリを入れる時に考えたこと / r-w-splitting
nazonohito51
1
30k
社内勉強会でOOPとCleanArchitectureとDDDを勉強し始めたというお話
nazonohito51
7
5.4k
CakePHP2でもPhpStormがコード補完してくれるようにした話 / cakephp2-ide-helper
nazonohito51
1
2.5k
PHPStanでCustomRuleを作る / Make PHPStan CustomRule
nazonohito51
6
4.2k
単方向依存を実現する静的解析ライブラリのご紹介 / Analyze PHP Dependencies
nazonohito51
3
6k
「SOLIDの原則って何ですか?」って質問に答えたかった / What's SOLID principle
nazonohito51
6
2.1k
ドキュメントルート配下に全てのPHPファイルが置かれていた環境をindex.phpだけにした話 / document root
nazonohito51
2
4k
Other Decks in Programming
See All in Programming
perlをWebAssembly上で動かすと何が嬉しいの??? / Where does Perl-on-Wasm actually make sense?
mackee
0
190
Java 25, Nuevas características
czelabueno
0
120
Developing static sites with Ruby
okuramasafumi
0
330
AI 駆動開発ライフサイクル(AI-DLC):ソフトウェアエンジニアリングの再構築 / AI-DLC Introduction
kanamasa
11
4.2k
Deno Tunnel を使ってみた話
kamekyame
0
260
GoLab2025 Recap
kuro_kurorrr
0
780
Kotlin Multiplatform Meetup - Compose Multiplatform 외부 의존성 아키텍처 설계부터 운영까지
wisemuji
0
130
新卒エンジニアのプルリクエスト with AI駆動
fukunaga2025
0
240
tsgolintはいかにしてtypescript-goの非公開APIを呼び出しているのか
syumai
7
2.4k
AIコーディングエージェント(Gemini)
kondai24
0
280
AIエージェントの設計で注意するべきポイント6選
har1101
5
2.4k
生成AI時代を勝ち抜くエンジニア組織マネジメント
coconala_engineer
0
26k
Featured
See All Featured
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
110
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
57
40k
WENDY [Excerpt]
tessaabrams
8
35k
AI: The stuff that nobody shows you
jnunemaker
PRO
1
28
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
286
14k
Applied NLP in the Age of Generative AI
inesmontani
PRO
3
2k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
130
HDC tutorial
michielstock
0
280
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
0
46
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.9k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
200
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.2k
Transcript
ౡܛ(.01FQBCP *OD !U@XBEB͞ΜΛғ͏ձ ΦʔτϩʔσΟϯάͰ ϨΨγʔ1)1ͱઓ͏
ΤϯδχΞ ౡܛ!CBSJF ຊࣾࣄۀ෦+6(&.νʔϜ IUUQOB[POPIJUPKVHFNKQ
TDIPPͰ-BSBWFMͷतۀ࡞Γ·ͨ͠
ϨΨγʔͳϓϩμΫτͰ ͜Μͳ͜ͱ͋Γ·ͤΜ͔ʁ
class SuperHyperOreOreClass { private $sugoi; private $yabai; public function
__construct() { $this->sugoi = 'sugoi'; $this->yabai = 'yabai'; } public function tyouYabai() { // ... } }
ͦΕ ͏͋ΔΑ
͜Μͳ͜ͱ͋Γ·ͤΜ͔ʁ wಉׂ͡ͷΫϥεΛ͏͔ͬΓ͏ݸ࡞ͬͯ͠·ͬͨ wͱ͍͏͔ɺطʹͨ͘͞Μ͋Δ wطଘʹͲΜͳΫϥε͕͋Δͷ͔୳͢ͷ͕͍͠ wطଘͷࣅͨΑ͏ͳػೳΛ࣋ͭը໘Λ୳͢ wܦݧଇ͔Βݟ͚ͭΔ wޱͰͲΜͳͷ͕͋Δͷ͔͑ΒΕΔ
ͲΜͳʁ wࠓͲΜͳΫϥε͕͋Δͷ͔͔Βͳ͍ wͲ͜ʹԿ͕͓͍ͯ͋Δͷ͔͔Βͳ͍ ΫϥεʢϑΝΠϧʣ͕ ཧ͞Ε͍ͯͳ͍
ͲΜͳʁ wͦͷΞϓϦέʔγϣϯΛΑͬͨ͘ਓ͔͠Θ͔Βͳ͍ߏ w෦͕ࢄΒ͔͍ͬͯͯɺͦͷॅਓͳΒͲ͜ʹͳʹ͕͋Δͷ͔͍ͩ ͍ͨղ͍ͬͯΔঢ়ଶ
ςετ͡Όແ͍͚ͲอकੑʹؔΘΔ wࣗಈςετͰΑ͘ϝϯςφϯε͞ΕͨΫϥεͰͦΕΛݟ͚ͭΔ͜ͱ ͕Ͱ͖ͳ͚Εɺ࠶࣮ͯ͠͠·͏ϦεΫ͕͋Δ wίʔυͷॏෳόάͷൃੜݪҼʹͳΔ
ཧ࣌ͷ
ϑΝΠϧύεʹґଘ͍ͯ͠Δ class Hoge { // ... } DMBTT+6(&.)PHFQIQ <?php
require_once ‘class/JUGEM/Hoge.php’; // ... <?php require_once ‘Hoge.php’; // ... wϨΨγʔͳ1)1SFRVJSF@PODFͰϑΝΠϧͰಡΈࠐΈΛ͍ͯ͠Δ wϑΝΠϧύεΛม͑ΔͳΒίʔυม͑ͳ͍ͱ͍͚ͳ͍
͎ŵŧƄແཧɻ śŏŪƁőŪƄ͠ΐɻɻɻ
1)1ͷΦʔτϩʔσΟϯάͱ
1)1ͷΦʔτϩʔσΟϯάͱ wΫϥεݺͼग़࣌͠ʹɺͦͷΫϥε͕ఆٛ͞Ε͍ͯΔϑΝΠϧΛࣗಈత ʹಡΈࠐΉΈ wࣄલʹΦʔτϩʔμΛొ͓ͯ͘͠ͱɺະఆٛͷΫϥε͕ݺͼग़͞Ε ͨ࣌ʹΦʔτϩʔμ͔ΒϑΝΠϧύεΛղܾͯ͠ΘΓʹಡΈࠐΜͰ ͘ΕΔ
ΦʔτϩʔσΟϯάͷϝϦοτ
SFRVJSF@PODFࠈ͔Βղ์͞ΕΔʁ
/0
ϑΝΠϧύε͔Βղ์͞ΕΔ
ϑΝΠϧύε͔Βղ์͞ΕΔ wΫϥεͷ࣮ϑΝΠϧͷॴͲ͏Ͱྑ͘ͳΔ wΦʔτϩʔμΛߋ৽͑͢͞ΕϑΝΠϧ͍͘ΒͰಈ͔͍͍ͯ͠ ΦʔτϩʔσΟϯάͯ͠ɺ ཧͰ͖ΔڥΛ͑Α͏
ಋೖํ๏
ಋೖํ๏ DPNQPTFSʹΦʔτϩʔμΛ࡞ͤ͞Δ શΤϯτϦϙΠϯτͰBVUPMPBEQIQΛಡΜͰɺίʔυશମʹΦʔτ ϩʔμΛڙڅ͢Δ ΫϥεͷSFRVJSF@PODFΛશͯআͯ͠ɺΦʔτϩʔμ͔ΒΫϥε Λڙڅ͢Δ wಉ໊Ϋϥε͕͋ͬͯҰݩԽ͕͍͠߹ɺSFRVJSF@PODFͦͷ··ʹ ͓͚ͯ͠ɺͱͱͬͯͨΫϥε͕ͦͷ··ΘΕΔͣ ͋ͱಈ͔͠์
ҙ wΦʔτϩʔσΟϯά͞ΕΔͷΫϥε͚ͩ wάϩʔόϧείʔϓΛ͍ͬͯΔ߹ૣ͘Ϋϥεʹ͚͍ͯͩ͘͞
·ͱΊ
·ͱΊ wཧ͞Ε͍ͯͳ͍ڥతͷͷ͕ݟ͔ͭΒͣͲΜͲΜԚΕͯ ͍͘ wΦʔτϩʔσΟϯά͢ΔͱϑΝΠϧύε͔Βղ์͞ΕΔ wΦʔτϩʔσΟϯάͯ͠ཧ͠Α͏ʂ
ΦʔτϩʔσΟϯάཧͷखஈ ࢄΒ͔ͬͨঢ়ଶ ཧ ͋Δ͖࢟
ͲΜͳߏʹ͢Εྑ͍ͷʁ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠