Laravel - 在 Spatie 中发布供应商 Class Spatie\MediaLibrary\Models\Media 以使用 MongoDB 配置它

Laravel - Publish Vendor Class Spatie\MediaLibrary\Models\Media in Spatie to configure it with MongoDB

这里我在 Spatie\MediaLibrary\Models\Media 路径上有一个媒体 class。它正在使用此代码创建 PDO 问题。

class Media extends Model implements Responsable, Htmlable

所以我在那里尝试了这个并且它起作用了。

use Jenssegers\Mongodb\Eloquent\Model as Eloquent;

class Media extends Eloquent implements Responsable, Htmlable

现在只要能正常工作就可以了,但是更新 composer 会删除我猜想的所有内容,PDO 问题会再次出现。那么我怎样才能在那里发布它以使其永久化呢?

我认为你最好的选择是 fork spatie/laravel-medialibrary 存储库。然后您可以在您的分叉中进行更改并提交它们。然后,您将能够将您的提交用作 composer.json 中的包版本,并将您的分叉用作存储库。

例如,在您的 composer.json 中,将您的 spatie/laravel-medialibrary 要求更改为 "spatie/laravel-medialibrary": "dev-{your-branch-name}#{your commit hash}",。并向您的 composer.json 添加一个 "repositories" 字段,如下所示:

"repositories": [
    {
        "type": "vcs",
        "url": "https://github.com/{your github username}/laravel-medialibrary"
    }
]

查看 this Whosebug question for more examples on how to use your own commit in your package. Also have a look at Composer's "Repositories" documentation to see other ways to add repositories (for example to use a local path) and their "Versions#Branches" documentation 以了解如何将分支指定为版本。