Composer => Wordpress插件工作流程

时间:2013-09-24 14:50:56

标签: php wordpress git composer-php

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

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

    • 的httpdocs
    • 可湿性粉剂内容
      • 插件
    • WP-config.php中
    • ...
    • composer.json

并在plugins文件夹中:

  • 为myplugin
    • composer.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"
            ]
        }
    }
}

myplugin文件夹中的composer.json

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

在example.com上我安装了一个私有静态编写器存储库(满意)。到目前为止,我可以在根文件夹中使用php composer.phar install安装所有依赖项,myplugin和myplugin依赖项。

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

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

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

1 个答案:

答案 0 :(得分:1)

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

示例:

   "repositories": [
        {
            "type": "git",
            "url": "git@github.com:my-git-name/my-plugin.git"
        },
        ...
    ]