【问题标题】:Editing Laravel plugin编辑 Laravel 插件
【发布时间】:2019-03-10 21:23:31
【问题描述】:

我是 Laravel 的新手,我已将一个插件拉入我的项目 (https://github.com/jeremykenedy/laravel-users),我想对其进行编辑。

我对 vendor/jeremykenedy/laravel-users/src 中的文件进行了一些编辑,该文件具有预期的效果,但供应商位于 Laravel 的 .gitignore 中,因此我的更改未被跟踪。我当然可以编辑 .gitignore,但我显然不会以正确的方式做事。

我还尝试将文件的编辑版本复制到我的主 App/Http/Controllers 目录(保持相同的文件名),以防 Laravel 有覆盖层次结构或其他东西,但没有效果。

以在 git 中跟踪的方式编辑 Laravel 插件行为的正确方法是什么?

编辑:为了澄清原因,我在用户表中添加了一个新列(“类型”列),并希望它可以编辑,并且能够为新字段输入一些内容添加用户时。

【问题讨论】:

    标签: php laravel github composer-php git-fork


    【解决方案1】:

    显然您不应该编辑vendor 目录中的任何内容。你应该在 github 上 fork 包。在你的 fork 中进行更改,然后在 composer.json 中设置 VCS repository

    如您所见:

    这有几个用例。最常见的是维护 您自己的第三方库的分支。如果您正在使用某个 您的项目的库,您决定更改 库,您将希望您的项目使用修补版本。如果 库在 GitHub 上(大多数时候都是这种情况),你可以 只需将其分叉并将您的更改推送到您的分叉。在那之后 您更新项目的 composer.json。您所要做的就是添加您的 fork 作为存储库并更新版本约束以指向 您的自定义分支。在 composer.json 中,您应该为您的自定义添加前缀 带有“dev-”的分支名称。有关版本约束命名约定,请参见 图书馆了解更多信息。

    所以这对你来说是完美的用例。

    所以基本上:

    1. 您应该在 github 上创建 https://github.com/jeremykenedy/laravel-users 的 fork(顶部有 fork 按钮)
    2. 您应该创建自定义分支(例如new-features)并将任何更改推送到此分支

    3. 你应该添加到composer.json:

      "repositories": [
         {
            "type": "vcs",
            "url": "https://github.com/YOUR-GITHUB-USER/laravel-users"
         }
      ],
      
    4. 您应该确保您的composer.json 中有require 块:

      "jeremykenedy/laravel-users": "dev-YOUR_BRANCH_NAME"
      

      YOUR_BRANCH_NAME 与第 2 步中的分支名称匹配(例如 new-features) - 请记住,此处应以 dev- 为前缀

    【讨论】:

    • @SaidbakR 谢谢你的信息,我已经修好了
    • 用代码示例支持这个很棒的答案真是太好了。
    【解决方案2】:

    我建议分叉原始存储库并将您的更改添加到此存储库,然后您可以向原始存储库创建拉取请求,以防此更改对其他用户也有用。

    当然,他们可以拒绝您的拉取请求,因此为了使您的更改在您的项目中可用,您可以在 packagist 上注册您的分叉。然后,您可以在您的供应商文件中引用您的软件包版本。

    重要提示:不要忘记在您的 repo 以及 packagist 中提及原始 repo 和发布者,他的代码值得称赞 ;)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-09
      • 1970-01-01
      • 2021-12-22
      • 2014-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多