文章彙整

di.xml注入的使用方式

Astral WebBy Astral Web 3 weeks agoNo Comments
首頁  /  網站設計與開發  /  後端開發  /  di.xml注入的使用方式

今天要來介紹di.xml注入的使用方式,開發magento2的時候常常會需要plugin或preference去影響原生的程式,如果只要針對原生程式中的一個物件、參數或陣列做替換或注入的話,用preference去覆蓋掉原本的程式又過於費工,這時候就可以用Argument type直接替換或注入就可以。

這邊我們預設各位讀者都已經知道如何製作一個基本的magento2 module來進行範例製作,因此這邊只寫出必要的設定檔案。

virtualType是一種將不同的依賴項注入class而又不影響sub-class的方法。

type 直接替換並注入並影響所有使用class的方法

以自製logger為例,在開發moudle的時候常常會需要用專門的檔案放log追蹤程式。

先在di.xml用virtualType注入filesystem和fileName這兩個參數,LoggerHandler是對這次創建的virtualType命名,避免會影響到其他有使用Magento\Framework\Logger\Handler\Base。

然後建立一個自己的Logger去extend Monolog\Logger

並對自己寫的Logger用type進行注入name和handlers,此時用type直接替換並注入name=TestExample和handlers[‘system’]=LoggerHandlers 進原本Test\Example\Logger\Logger。

以上就可以用di.xml注入的方式去完成自製logger。

關於di.xml注入詳細的使用方式請參考https://devdocs.magento.com/guides/v2.4/extension-dev-guide/build/di-xml-file.html

 

以上就是本篇的分享呦!大家都知道該如何做了嗎?喜歡歐斯瑞的讀者們,記得追蹤我們的FB粉絲團IG,也別忘了訂閱電子報,隨時掌握第一消息喔!若有任何問題,歡迎隨時與我們聯繫

 000

推薦文章

Categories:
  後端開發Magento-2Magento網站設計與開發

留下回應

你的電子郵件地址不會被公開.