如何在WordPress中使用Composer相关软件



考虑到Composer编写了一些有用的程序,这意味着作者已经使用了其他程序的某些部分,使用Composer,它将下载这些依赖项,并进行适当的配置、命名等。

我想在我的插件中使用WordPress中的一些程序,使用require_oce()并包括程序(应用程序),这样我就可以从我的WordPress插件中使用它的功能。

如何做到这一点?

我想在我的插件中使用WordPress中的一些程序,使用require_oce()并包括程序(应用程序),这样我就可以从我的WordPress插件中使用它的功能。

这是可能的,但这是一种非常糟糕的做法。

  • 你有一个插件文件夹,里面有一个正在工作的wordpress插件
  • 您添加了composer.json并需要第三方程序包
  • 您触发composer install,第三方包将被提取到plugin文件夹中的文件夹vendor
  • 在你的插件中,你包含了vendorautoload.php,它是Composer Autoloader。这是所有第三方插件的自动加载器
  • 然后您可以开始使用第三方类(无需)

再次,关于加载:您的插件是由Wordpress加载的。但是您的插件通过包含Composer Autoloader来加载其外部依赖项。

当每个人都在插件级别上包含Composer包时,不同的Wordpress插件可能会提供相同的Composer包,对吧?好吧,让我们添加50个不同的插件,它们具有10倍的依赖性:垃圾桶里的垃圾桶。

换句话说:将Composer包直接包含在插件中是可行的,但对于Wordpress生态系统来说,这是一种非常糟糕的做法。


解决这个问题的正确方法是在应用程序级别(Wordpress)使用Composer,而不是在插件级别。这意味着Wordpress有供应商文件夹,所有插件都可能包含其中的代码,而不是多个插件可能每个都有一个供应商文件夹。

有很多不同的方法可以更集中地处理事情。我真的不知道Composer在Wordpress核心上的集成目前是什么状态。这个答案最好由Wordpress团队的一名成员给出。换句话说:在Wordpress官方支持处寻求社区指导。

  • http://wpackagist.org/
  • https://github.com/coenjacobs/wordpress-composer-installer
  • 编写器/安装器Wordpress

让我们来看看最后一个:"Wordpress的Composer安装程序"

此安装程序处理pluginthememuplugin包类型。看见https://github.com/composer/installers/blob/master/src/Composer/Installers/WordPressInstaller.php

这是怎么回事?您需要在插件中添加一个composer.json,并将"wordpress插件"添加为"类型",并需要"composer-installer"作为包的依赖项。

{
  "name": "my/plugin",
  "type": "wordpress-plugin",
  "require": {
    "composer/installers": "v1.0.6"
  }
}

当您运行composer install时,Composer将获取Composer/installer并识别类型"wordpress-plugin"。然后将插件安装到wp-content/plugins/{$name}/中。

您还可以将更多的软件包添加到"需要"部分。

相关内容

  • 没有找到相关文章

最新更新