如何在Laravel 5.5中扩展供应商包服务提供者

10 浏览
0 Comments

如何在Laravel 5.5中扩展供应商包服务提供者

我正在使用一个集成了Xero会计的包。

在以下位置,他们有一个名为XeroServiceProvider.php的文件: /vendor/drawmyattention/xerolaravel/Providers/XeroServiceProvider.php

我需要在我的应用程序中扩展这个服务提供者,但我不喜欢直接编辑这个文件的想法。

有没有一种方法可以轻松地扩展这个服务提供者而不更新供应商文件?

这是我需要扩展的文件:

namespace DrawMyAttention\XeroLaravel\Providers;
use Illuminate\Contracts\Filesystem\Filesystem;
use Illuminate\Support\ServiceProvider;
use \App\Invoice;
class XeroServiceProvider extends ServiceProvider
{
    private $config = 'xero/config.php';
    public function boot()
    {
        $this->publishes([
            __DIR__.'/../config.php' => config_path($this->config),
        ]);
    }
    /**
     * Register the service provider.
     *
     * @return void
     */
    public function register()
    {
        $this->app->bind('XeroInvoice', function(){
           //return new \XeroPHP\Models\Accounting\Invoice();
           return new Invoice();
        });
    }
}

0