我正在搜索覆盖供应商目录中的文件 但不是捆绑。 我正在使用Symfony 2.7
更具体地说,我正在尝试覆盖此文件中的方法:
vendor/akeneo/pim-community-dev/src/Pim/Component/Catalog/Updater/ProductUpdater.php
我想在像以下文件中这样做:
src/MyApp/Component/Catalog/Updater/ProductUpdater.php
我发现的所有文档都依赖于Bundle的一部分。 那么,甚至可以这样做吗? 如果是,怎么做?
祝你好运!
PS: 在回复之前,请考虑我是Symfony的总菜鸟:) 另外,您可能已经注意到我自己的应用程序中有一个Symfony应用程序,这是正常的,不要担心:D
答案 0 :(得分:0)
有一种方法可以使用composer覆盖文件。
你可以在autoload-> psr-4键下添加你的composer.json。
"autoload": {
"psr-4": {
"Pim\\Component\\Catalog\\Updater\\": "MyApp/Pim/Component/Catalog/Updater"
},
第一部分是您要覆盖的文件的命名空间,第二部分是新路径。
将新包添加到composer时会出现一些问题,因此请确保运行 composer dump-autoload 以重新创建自动加载顺序。
我真的不喜欢这种方法,但它确实省了几次来修复捆绑包中的文件而没有实际分支捆绑,如果没有别的帮助,这可以作为最后的手段使用。
更多关于composer autoload的信息
https://getcomposer.org/doc/01-basic-usage.md#autoloading
希望这有帮助,
Alexandru Cosoi