Laravel:如何覆盖命名路由的路由助手功能

时间:2017-12-28 08:20:53

标签: php laravel-5

我正在开发预先开发的Laravel-5.x项目,我需要更改以下网址:

route('product.show', ['id'=> $product->id), 'title' => $product->title])

route('product.show', ['id'=> encode_id($product->id), 'title' => slug_title($product->title)])

如果我不想将所有'product.show'路由替换为新版本,有没有办法覆盖'product.show'的路由助手功能来生成新的URL?

1 个答案:

答案 0 :(得分:0)

route()

中定义的功能\vendor\laravel\framework\src\Illuminate\Foundation\helpers.php

它的定义没有任何命名空间,因此可以在任何地方调用它。显然,您可以在项目中覆盖它,例如AppServiceProviderRouteServiceProvider

但是我建议你使用自定义函数和一些你应该在你需要的文件中指定的命名空间。