插件本地化定制

应用插件安装在 vendor 目录或者其他指定的目录,如果供应商有发布新的版本,在执行 composer 指令时极有可能被替换,因此不适合直接对插件进行修改扩展。

常规应用开发

我们大多数时候是基于插件进行扩展,自己需要再创建一个模块,调用插件提供的服务接口或者数据模型,不对插件进行直接修改,可保留原插件的可持续升级。

定制插件开发

如果我们实在需要对插件进行修改扩展,这时可以把原插件复制到项目的其他目录,如 ThinkPlugsAccount 可以把文件复制到 plugin/think-plugs-account目录。

然后再修改项目根目录下的 composer.json 配置文件,将对应插件的 require 版本改为开发版本(没有记录则添加,名称见插件包配置 name 字段),同时配置 repositories 指向到插件目录。

总结下:

  1. 拷贝插件所有文件到项目的指定目录,建议放 plugin/package-name 目录;
  2. 修改项目根 composer.json 配置内容,对应 require 记录版本修改为开发版本;
  3. 修改项目根 composer.json 配置内容,增加 repositories 本地记录并指向到插件目录;
  4. 以上步骤完成后,执行 composer update -o 即可完成插件切换,该插件也将失去在线升级的能力;
{
  "type": "project",
  "require": {
    "zoujingli/think-plugs-account": "dev-master"
  },
  "repositories": {
    "ThinkPlugsAccount": {
      "type": "path",
      "url": "plugin/think-plugs-account"
    }
  }
}
Last Updated:
Contributors: 邹景立