Laravel从中间件或basecontroller覆盖框架方法

时间:2019-06-13 06:32:14

标签: laravel

Illuminate\View

class Factory {
    public function make($view, $data = [], $mergeData = [])
    {
        //try to overwrite content here
    }
}

我有一个项目需要覆盖vendor / laravel / view / Factory类的方法

但是我不想更改原始框架的文件。

我可以在中间件或BaseController中添加方法来覆盖Factory的方法吗?

1 个答案:

答案 0 :(得分:1)

只需创建一个扩展默认Factory类的新类,然后覆盖那里的方法即可:

class MyFactoryClass extends Factory {
    public function make($view, $data = [], $mergeData = [])
    {
        //Overwrite the method here.
    }
}

现在,不要使用laravel默认的Factory类,而要使用MyFactoryClass

希望有帮助。