Re: [請益] 請問LARAVEL中DI跟使用static的差異
※ 引述《crossdunk (推噓自如)》之銘言:
: 標題可能說的有點不清楚
: 請讓我補充一下
: 最近在學laravel,看到了service及repository的設計方式
: 其中service依賴注入到了controller,而repository注入到了service
: 但看了很多有關依賴注入的文章,還是有看沒有懂
: 想請問DI跟static的差異有哪些地方呢?
: 如果我在controller直接使用service::method()的話
: 與
: ====================================
: __construct(service $service)
: 並$this->service = $service
: $this->service->method
: ===================================
: 會有什麼差別呢?
: 小弟目前只想到使用static的話會只使用到該method
: 用DI的話則會實現整個class
: 還請各位先進解答了
: 先謝謝各位先進了!
DI 和 static 完全兩碼事啊…
你翻 wiki 比較快 https://goo.gl/Pbtmqb
簡單來說,DI 就是一種降耦合的手法,你可以在不偏離軸心物件的使用上,
透過 DI 取得各式各樣的能力。
換言之,也可以將原本肥大的單一物件拆成核心物件和 service provider,
大概有點像是…洛克人和他愉快的武器系統們的關係? XD
至於 static,不就是個躲在 class 裡以為自己是獨立 function 的傢伙嗎… XD
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.15.21.184
※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1514534966.A.50A.html
→
12/30 06:24,
7年前
, 1F
12/30 06:24, 1F
→
12/30 21:24,
7年前
, 2F
12/30 21:24, 2F
→
12/30 21:24,
7年前
, 3F
12/30 21:24, 3F
→
12/30 22:47,
7年前
, 4F
12/30 22:47, 4F
→
12/31 11:46,
7年前
, 5F
12/31 11:46, 5F
推
01/12 00:56,
8年前
, 6F
01/12 00:56, 6F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
PHP 近期熱門文章
PTT數位生活區 即時熱門文章