![]() |
1
15
欢迎来到WordPress地狱。我们有2018年,WordPress仍然没有任何依赖关系管理,仍然没有注意到Composer的存在。 WordPress生态系统仅仅依赖于一个假设,即插件/主题的函数/类名称应该是唯一的。显然,将流行的第三部分编写器库与插件/主题一起分发会带来麻烦——当其他插件也这样做时,很容易发生名称冲突。没有好办法摆脱这种局面。
如果您想要一个独立插件的防弹解决方案,您应该在您的
如果您正在为自己编写此插件,并控制最终安装,您可以尝试 use Composer for installing WordPress and its plugins 。如果第三方插件捆绑了一些composer库,您可能仍然需要修复它们(通过forking),但从长远来看,这将简化许多事情,并且您可以避免为每个插件复制库。 |
![]() |
2
4
根据设计,
PHP
和
创作者
假设您在受控环境中开发和分发代码。但是,当您在上发布插件时
WordPress
或上的模块
逐浪
,您可以在无法控制其他作者安装的系统上分发代码。这种情况可能导致
名称冲突
例如
要为多供应商设置准备代码,必须 为PHP代码添加前缀 避免名称冲突或版本冲突(首先加载具有不同版本的相同库)。例如,Guzzle是一个众所周知且使用广泛的库,因此如果发布包含它的插件,则必须在发布之前为其添加前缀。 乍一看,您可能认为只在名称空间前面加前缀就能完成工作。但其他命名元素(如全局函数和特性)也必须加前缀,以避免所有可能的错误类型。 要为PHP代码添加前缀,可以使用以下工具或服务来执行任务:
免责声明:我是PHP前缀器的首席开发人员。 |
![]() |
3
1
不建议这样做,但如果必须使用它
|
![]() |
4
-1
我猜GuzzleHttp/functions中有一个函数。第31行的php,因此您可以使用类似的内容:
或者可以使用is\u plugin\u active函数检查插件是否已安装。在这种情况下,可以忽略包含文件 https://codex.wordpress.org/Function_Reference/is_plugin_active |
![]() |
Bob2425 · 在“composer安装”上获取软件包的生产版本 6 年前 |
![]() |
hamza · Laravel 5.4编写器更新错误 6 年前 |
![]() |
PeraMika · 保留XAMPP并安装WAMP 6 年前 |
![]() |
Quasipickle · 如何使用Composer自动加载单个库 6 年前 |
![]() |
Ben · 无法确定失败原因`编写器更新` 6 年前 |