1

首先问题是你知道,在阅读时,我的问题是:在 composer/wordpress 项目中更新插件的正确工作流程是什么?

我有一个具有以下目录结构的 wordpress 项目:

    • httpdocs
    • wp-内容
      • 插件
    • wp-config.php
    • ...
    • 作曲家.json

并在plugins文件夹内:

  • 我的插件
    • 作曲家.json

剥离的根composer.json如下所示:

{
    [...]
    "require": {
        "example/myplugin": "dev-master"
    },
    "repositories": [
        {
            "type": "composer",
            "url": "http://composer.example.com"
        }
    ],
    "extra": {
        "installer-paths": {
            "httpdocs/wp-content/plugins/{$name}": [
                "example/myplugin"
            ]
        }
    }
}

composer.jsonmyplugin 文件夹里面:

{
    [...]
    "license": "proprietary",
    "require": {
        [...]
    },
    "type": "wordpress-plugin",
    "autoload": {
        "classmap": [
            "controllers",
            "lib",
            "models"
        ]
    }
}

在 example.com,我安装了一个私有静态作曲家存储库 (satis)。到目前为止一切顺利,我可以php composer.phar install在根文件夹中安装所有依赖项,myplugin 和 myplugin 依赖项。

现在(我的)问题开始了:

  • 更新:myplugin 是一个作曲家包,而不是一个 git 子模块。在开发和测试时如何更新包?使用 git 子模块,我可以简单地提交并推送更改,但是使用 composer 包,我必须将 myplugin 的 git 存储库保留在其他地方并从那里更新,对吗?
  • 自动加载:我将 autoload 参数从根目录composer.json移到 myplugincomposer.json中。但现在自动加载器无法正常工作。我可以毫无问题地重新安装作曲家依赖项,并替换了路径(之前:httpdocs/.../myplugin/controllers,现在:控制器)

我搜索了大约 6 个小时,但没有关于此的信息(或者我搜索了错误的关键字)

4

1 回答 1

1

这仅回答了您的部分问题,但是如果您将 git url 作为 git 存储库添加到根项目的 composer.json 中,Composer 将克隆到插件目录中。这将允许您直接提交。

例子:

   "repositories": [
        {
            "type": "git",
            "url": "git@github.com:my-git-name/my-plugin.git"
        },
        ...
    ]
于 2013-10-02T13:22:26.000 回答