WordPress 插件 + Composer?

2024-02-18

我正在制作使用一些第三方库的 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(使用前将#替换为@)

WordPress 插件 + Composer? 的相关文章

  • 获取给定日期时间集的每月第一个星期一

    我需要什么 我有一个特定的日期时间列表 我想获取每个日期时间的第一个星期一 例如 假设给定的日期时间是 2013 07 05 2013 08 05 2013 09 13 etc 我想获得所有这些日期时间的第一个星期一 以便输出结果 2013
  • Magento:如何在 CMS 页面中包含 php 调用

    按照此页面的说明进行操作 http www magento cc how to use php on a cms page html http www magento cc how to use php on a cms page html
  • SetInterval 函数不适用于 PHP 文件

    我有这样的index html
  • Codeigniter PHP - 在锚点加载视图

    我在一个长页面的底部有一个表单 如果用户填写了表单但它不验证页面是否以典型的 codeigniter 方式重新加载 this gt load gt view template data 然而 由于表单位于页面底部 我需要将页面加载到那里 就
  • YUI压缩机或类似的PHP?

    我一直在我的测试服务器上使用 yuicompressor jar 来动态最小化已更改的 JavaScript 文件 现在我已经将网站部署到公共服务器上 我注意到服务器的策略禁止使用 exec 或其等效项 因此我不再执行 java 有没有一个
  • use 语句顺序会影响 PHP 中的功能吗?

    我使用 PHP 的命名空间已经有一段时间了 我认为它对我的编程来说是一个很好的补充 今天早上我想知道一些关于use陈述 我想知道顺序是否use影响我的 PHP 代码的功能 根据 PHP net 使用别名引用外部完全限定名称或导入的能力是命名
  • 如何使用 php DOM 获取 内的值?

    我如何使用 php DOM 获取 内的值 这是我的 xml 中的一些代码
  • DataTables 第 2 页的分页未调用放大弹出窗口

    所以我有这个启用分页的数据表 我编码了一种方式 以便用户可以编辑表的行 当用户调用它在放大弹出窗口中打开的编辑页面时 它在第 1 页 从第 2 页起都运行良好 DataTable 及其前面停止调用 Magnific Popup 我只是不明白
  • PHP Github Pull 脚本错误“权限被拒绝(公钥)”

    我已经设置了一个 PHP 脚本来执行 GitHub 拉取 这包含在我的 Github 文件夹中 home mysite public html github github pull php 我的服务器已经有 SSH 公钥 就像我执行git
  • Memcache 不会刷新或清除内存

    我一直在尝试清除我的内存缓存 因为我注意到使用时存储占用了近 30 的服务器内存ps aux 所以我运行了以下 php 代码 memcache new Memcache memcache gt connect localhost 11211
  • 计算 PHP 字符串中特定字符的所有出现次数的最有效方法是什么?

    计算 PHP 字符串中特定字符的所有出现次数的最有效方法是什么 用这个 echo substr count abca a will echo 2
  • Zend RegEx Validator 的自定义有意义的错误消息

    我正在验证表单中的文本字段 如下所示 name new Zend Form Element Text name name gt setLabel First Name gt setRequired true gt addFilter new
  • PHP 中的异或加密

    我是 Xor 加密的新手 并且在使用以下代码时遇到了一些问题 function xor this string Let s define our key here key magic key Our plaintext ciphertext
  • 将客户分配到 magento 的多个客户组

    您好 我想将多个组分配给特定客户 例如 Rajat 客户 属于 批发 零售商 电力 实际上我在上面看到了同样的话题每个客户有多个客户组 https stackoverflow com questions 6153011 multiple c
  • 将 echo 和 print 合并到一个语句中

    echo 1 print 2 3 返回 214 脚本如何以 14 结尾 当你这样做时 echo 1 print 2 3 PHP 会做 demo http codepad viper 7 com OfrNrs line op fetch ex
  • 使用 Imagick 动态图像创建/Apache 标头

    在将现有的稳定网站转移到新服务器时 我遇到了一些使用 Imagick 动态创建图像的代码的间歇性问题 该代码解析 GET 查询 例如 example com image php ipid 750123 r 0 w 750 h 1000 然后
  • 2 使用我的代码在数组中查询

    我使用滑块来显示我的 WordPress 精选文章 它选择一个自定义类别并返回一定数量的帖子 如何将显示的第一篇帖子设为自定义帖子 我可以直接在滑块代码中添加特定帖子的 ID吗使该帖子首先出现 然后是原始查询返回的其他内容 例如 在页面上
  • PHP-如何根据条件配对数组中的项目

    如何将数组中的项目配对 假设我有一个数组Fighters 我想根据他们的情况将他们配对Weights 体重最接近的拳手应作为配对最佳匹配 但如果他们是在同一个团队中 他们不应该配对 团队 1 战斗机A体重为60 战斗机B体重为65 2队 战
  • sqlite3和pdo_sqlite有什么区别

    我正在将我的 Web 应用程序从 MySQL 迁移到 SQLite 数据库 我发现有两个 PHP 扩展用于与 sqlite 通信 php sqlite3 dll and php pdo sqlite dll 什么扩展比较好 或者另一个问题
  • 管理产品页面自定义字段显示在购物车和结账中

    我在产品页面的常规设置选项卡上的 WooCommerce 管理中创建了一个自定义字段 以插入几天的制造时间 我想在购物车和结帐页面上每个产品名称上方显示此自定义字段值 这是我的代码 Insert a Custom Admin Field f

随机推荐

  • 将JSON数据放入html表单输入隐藏?

    我正在构建一个使用大量数据的丰富的 Web 应用程序 当我构建它时 我发现我一遍又一遍地重复自己 这就是问题 我需要将隐藏的应用程序逻辑放入 HTML 元素中以表示客户端正在查看的数据 这是我前段时间发现的一个解决方案 a href bla
  • 如何求和两个对象的属性?

    我有多个 JavaScript 对象 a 12 b 8 c 17 and a 2 b 4 c 1 我需要通过键对这两个对象求和 Result a 14 b 12 c 18 你有 JavaScript 的解决方案吗 我用Object keys
  • 树遍历递归

    我是编程新手 我正在研究我的树项目 我的树看起来像这样树结构 https i stack imgur com Ld0ke png 我已经编写了遍历完整树的代码 目前我的遍历将像这样打印完整的树 A B E F C D G H I J K d
  • “realloc():下一个大小无效”[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 或者 重复
  • Android zip 文件身份验证

    如果我想创建需要压缩视频并且用户必须有密码身份验证才能打开文件的应用程序 是否可以 如果可能的话 你们能给我一些示例代码吗 谢谢 问候 尝试这样的事情 OutputStream out new ZipOutputStream new Cip
  • IE7 不尊重显示:阻止

    我正在尝试使用以下 HTML 标记进行简单的垂直导航 ul li a a li li a a li li a a li ul 尽管有display block 在两个 li and a 元素 IE7 似乎不尊重包含 div 的完整宽度 对这
  • 如何使用 cocoon 在 Rails 中克隆子对象?

    我有一个父对象 其中有许多非常相似的子对象 我有一个带有表格的表单 可以使用 cocoon 来编辑它们 有了它 和这个答案 https stackoverflow com questions 18734783 nested form coc
  • JqG​​rid 选择可能或可能不可见的特定行

    我有一个 jqGrid 并且有几页项目 我有一行的 ID 该行可能位于第一页 也可能隐藏在其他页面的某个位置 给定行的 ID 如何以编程方式选择这样的行 我使用按钮的点击事件如下 on click function var myId thi
  • 虚拟继承[重复]

    这个问题在这里已经有答案了 虚拟 继承是什么意思 我看到了下面的代码 没明白关键字的意思virtual在以下情况下 class A class B public virtual A 虚拟继承用于解决 DDD 问题 Dreadful Diam
  • 如何在 Laravel 中向所有日志记录添加数据?

    我想向 Laravel 应用程序中的所有日志记录添加一些数据 我认为了解当前用户的用户名和 或客户端 IP 地址会很有帮助 目前我正在通过执行以下操作手动添加它 Log info Pre paid activation array user
  • MySQL-1300-更新时 utf8 字符串无效

    我有一个 MySQL 表列 我正在尝试将其从 latin1 转换为 UTF8 该列中的某些值已经是 UTF8 但它们存储为 latin1 这会导致一些看起来很奇怪的文本 切换列非常简单 我所要做的就是 ALTER TABLE user pr
  • 使用 WTForms 进行长排序下拉列表

    我想按字母顺序创建美国各州的下拉列表 我已将状态元组转换为 OrderedDict 并将其输入到我的 WTForms SelectField 中 import collections import wtforms STATE ABBREV
  • 在 XCode 5 中将项目导入远程 SVN 服务器

    以前在 XCode 4 中 在 Organizer 屏幕的 Repositories 部分中 有一个选项 导入 可将项目导入到 SVN 服务器中 该选项现在在 Xcode 5 的 Source Control 菜单中被禁用 尽管存储库已添加
  • Windows 7 无法写入物理驱动器?

    我编写了一个磁盘实用程序 允许您擦除整个物理驱动器 它使用 Windows 文件 api 调用 destFile CreateFile PhysicalDrive1 GENERIC WRITE FILE SHARE READ FILE SH
  • 如何使用 Postman 表单数据在 Django REST Framework 中发布嵌套数组?

    我有一个带有数组字段的嵌套可写序列化器 我需要用表单数据测试它 因为字段类型之一是ImageField 当我改变了ImageField into CharField如果我用原始 JSON 格式发布它 效果很好 我的简化版serializer
  • Linux下使用索引的文件搜索算法

    我想在linux中使用索引实现一个文件搜索程序 我知道还有其他几个文件搜索程序 例如beagled 但我这样做是为了学习目的 我对如何进行索引感到震惊 我从 maemo mapper 应用程序中得到了以下想法 例如 如果您有名为 sures
  • Symfony2 注销问题

    我正在 Symfony2 中测试安全环境 并且在注销过程中遇到问题 这是我的 security yml 文件 security firewalls secured area pattern anonymous switch user tru
  • 获取 IIS 应用程序文件系统路径

    我安装了 IIS 7 0 并且有一个带有 svc 服务的 net 应用程序 我想在应用程序指向的虚拟目录中指向一个文件 请注意 我在应用程序中转换了虚拟目录 但是 当我尝试使用 net verse 中的通用 api 调用打开文件 并且不指定
  • 比较 UIColors 或 CGColor 或 CGColorSpace

    我在比较 UIColors 时遇到问题 我有一张图像 我已成功提取用户单击的图像上的颜色 现在我想将该颜色与其他颜色进行比较 但我得到了一些奇怪的结果 这是我尝试过的 CGColorRef pixelColor buttonImage co
  • WordPress 插件 + Composer?

    我正在制作使用一些第三方库的 WordPress 插件 使用 Composer for WordPress 插件是常见做法吗 如果可以使用它 那么我认为我应该提供所有 Composer 文件以及我的插件 因为我不想让人们手动运行compos