首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将composer与遗留插件系统集成

将composer与遗留插件系统集成
EN

Stack Overflow用户
提问于 2013-11-19 06:32:25
回答 1查看 434关注 0票数 0

最近我一直在思考如何将作曲家与Wordpress插件集成在一起。是的,在任何人提出之前,Wordpress是一个要求。我想出了一些想法,但它们都有很大的缺点。

第一个系统只是包含每个插件的composer包(也称为run,在本地安装,然后用插件压缩供应商文件夹,以便于上传)。其优点是易于安装和简单。当使用相同的依赖项安装多个插件时会出现问题。它不仅非常臃肿,而且如果插件之间存在依赖版本差异,那么自动加载程序就会把彼此搞砸,只加载一个版本。

另一种选择是继续在每个插件中使用composer包,但也有另一个插件(我们称之为框架插件),它只有多个插件才能使用的包。这样做的好处是没有重复的包,所有插件都将与随框架插件一起提供的包版本一起工作;但是此时会有很多自动加载程序,从来都不是一件好事,版本管理变得非常复杂。

当然,如果我可以将我的插件作为composer包来处理,并且在根目录中有一个供应商文件夹,并通过composer命令行进行安装,那么这会容易得多;但是这个系统的一个要求是可以通过ftp管理插件,而不是ssh。

我想得越多,似乎就越不可能,我知道作曲家不是为此而设计的,但有没有人想过这是如何实现的呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-23 16:44:58

Wordpress可以与composer完全集成--如果您使用作曲家/安装程序库,那么您可以包含插件或主题,这些插件或主题有自己的composer.json文件,其类型设置为wordpress-plugin或wordpress-主题,它会将它们放置在正确的位置(wp内容/主题而不是供应商/)。

所有公共wordpress插件和主题都可以通过Wordpress Packagist - http://wpackagist.org/获得,您只需将其包含在整个项目的composer.json中,如下所示:

代码语言:javascript
复制
{
    "name": "acme/brilliant-wordpress-site",
    "description": "My brilliant WordPress site",
    "repositories":[
        {
            "type":"composer",
            "url":"http://wpackagist.org"
        }
    ],
    "require": {
        "aws/aws-sdk-php":"*",
        "wpackagist/advanced-custom-fields":"*",
        "wpackagist/posts-to-posts":"1.4.x"
    },
    "autoload": {
        "psr-0": {
            "Acme": "src/"
        }
    }
}

您可以在github (或类似的)中安装自己的编写器插件/主题,方法是为它们添加回购,如下所示:

代码语言:javascript
复制
{
    "type": "vcs",
    "url": "https://github.com/YourUserName/MyWordPressPlugin.git"
},

确保你有一个composer.json在你自己的插件的git,类型设置为wordpress-插件或wordpress-主题。将它们的名称添加到项目的composer.json的require部分。我经常这样做购买插件-我为他们创建一个新的私人回购,并添加了一个composer.json。

当涉及部署时,您将无法在远程服务器上运行composer安装,但您可以只从运行了install命令的工作副本中运行FTP。或者,如果您正在使用Git,您可以有一个post接收挂钩设置,它导出项目,运行composer安装,然后运行FTP。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20064741

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档