我正在制作使用一些第三方库的 WordPress 插件。使用 Composer for WordPress 插件是常见做法吗?
如果可以使用它,那么我认为我应该提供所有 Composer 文件以及我的插件,因为我不想让人们手动运行composer install
.
另一个问题是,使用 Composer 的自动加载安全吗?我将其配置为自动加载我自己的类,并且库当然也会自动加载。那很方便。
将 Composer 与 WordPress 插件一起使用会产生开销吗?或者它还有其他问题吗?
这是老问题了,但三年来没有任何改变。使用 Composer 要求 WordPress 插件/主题中的依赖项通常是个坏主意。 PHP 不允许加载多个具有相同 FQN 的类。因此,如果两个不同的插件独立安装同一个库,则会加载随机安装库的类,这可能会导致非常奇怪的错误(特别是如果这些是同一库的不同版本)。为了避免此类问题,您应该只有一个composer.json
每个项目都有一个实例,因此在这种情况下,Composer 应在 WordPress 级别运行。
一般来说,如果你多次安装同一个包,你可能会遇到一些麻烦(如果每个插件维护者都单独使用 Composer,就会发生这种情况)。请注意,这与 Composer 没有直接关系 - 如果您手动复制库,您将遇到完全相同的问题(可能甚至更糟)。
如果你真的想在你的插件中使用 Composer,你可以尝试类似的工具humbug/php-scoper https://github.com/humbug/php-scoper这将修改所使用的依赖项的名称空间并使它们唯一。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)