di.xml

3.13K 浏览M2交流区

di.xml

di.xml 这个文件一直没怎么看懂,看了几遍,感觉有好几个作用。

1.指定或重写Proxy

2.指定或重写某个类中构造函数入参所依赖Proxy

3.声明plugin,用于修改目标类若干个method的入参或者返回结果

能通俗一点说明这个文件的用法和作用嘛?谢谢大佬们

0

关于di,即依赖注入管理(现代PHP的特性),在magento架构中依赖注入更抽象,但是在magento2日常开发中一般只用到preference标签来进行类的重写或者接口的模型继承,关于visualType标签(虚拟类型) 的作用,在后台开发中有用到,具体的理解需要你去官网逛逛了

0

上面这位大佬说的很对。
di.xml 一般是用来在不直接修改原始类代码的情况下进行动态改写。

magento2里你只需要对preference和plugin这2种改写类的方式熟悉就行了。
其中plugin只能改写public类型的function,其他protection private类型的function 你只能通过preference来重写 再继承了。

https://devdocs.magento.com/guides/v2.3/extension-dev-guide/build/di-xml-file.html?itm_source=devdocs&itm_medium=search_page&itm_campaign=federated_search&itm_term=preference

0

多谢两位大佬

0

学习magento两个月,我现在只用到过只用到preference标签
推荐一个youtube大佬的视频,这是其中一个在邮件中增加优惠码变量的例子,https://www.youtube.com/watch?v=sYa5xilq2Rg
他的视频每一个都很详细,会告诉你每一步为什么这样写,其中也有di.xml,多跟着敲一下就明白怎么用了

0

谢谢哈,我去看一看

0