我正在开发预先开发的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?
答案 0 :(得分:0)
route()
\vendor\laravel\framework\src\Illuminate\Foundation\helpers.php
它的定义没有任何命名空间,因此可以在任何地方调用它。显然,您可以在项目中覆盖它,例如AppServiceProvider
或RouteServiceProvider
。
但是我建议你使用自定义函数和一些你应该在你需要的文件中指定的命名空间。