扩展供应商使用的Laravel类

时间:2017-10-18 01:13:24

标签: php laravel class laravel-5

我想要什么

扩展供应商使用的Laravel类,特别是此类:https://github.com/laracasts/flashFlash/Message.php类。

为什么我想要

为了添加一些类参数以进行自定义。

我尝试了什么

我发现谷歌搜索和浏览其他问题的所有内容。

我创建了自己的服务提供商:

use Laracasts\Flash\FlashServiceProvider as BaseServiceProvider;

class FlashServiceProvider extends BaseServiceProvider
{

    public function register()
    {
        $this->app->singleton( 'flash', function() {
            return $this->app->make( 'App\Extensions\Laracasts\Flash\FlashNotifier' );
        } );
    }
}

甚至成功地将自定义函数添加到App\Extensions\Laracasts\Flash\FlashNotifier类。

仍然无法工作

即使我已成功扩展FlashNotifier类。我仍然遇到问题,因为它一直使用原来的Messages类,而不是我的。

问题

如何强制我的扩展FlashNotifier课程使用我的Messages课程版本,而不是原来的课程?

1 个答案:

答案 0 :(得分:0)

您可以采用不同的方法,而不是扩展类。

创建laracasts/flash的分支,然后您可以将其加载到项目中

loading a package from a VCS repository

的作曲家文档

来自文档

  

有一些用例。最常见的是维护自己的第三方库的分支。如果您正在为项目使用某个库,并且决定更改库中的某些内容,那么您将希望项目使用修补版本...