2017-12-28 4 views
0

Ich habe Arbeit an vorentwickelte Laravel-5.x-Projekt außer Kraft zu setzen und ich brauche viele URLs ändern von:Laravel: Wie Route Helferfunktion für eine benannte Route

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

zu

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

Wenn ich nicht alle 'product.show' Routen zu einer neuen Version ersetzen möchte, gibt es eine Möglichkeit, die Routenhilfsfunktion für 'product.show' außer Kraft zu setzen, um eine neue URL zu generieren?

+1

Verwenden Sie einfach nur die Funktion zum Suchen und Ersetzen, die wahrscheinlich mit allen Editoren/IDEs geliefert wird. – Wolen

+0

Sie können die Routenmethode möglicherweise überschreiben, wenn Sie sie in der Bootstrap-Datei Ihrer App definieren. Aber Sie wollen das wahrscheinlich nicht tun. Mach einfach einen Fund/Ersatz. – apokryfos

+0

@wolen und @apokryfos ist es ein bisschen schwer, weil der '$ product' Variablenname in einigen geändert wurde, wo –

Antwort

0

Funktion route() im

\vendor\laravel\framework\src\Illuminate\Foundation\helpers.php definiert Es wird ohne Namensraum definiert somit kann es überall aufgerufen werden. Natürlich können Sie es in Ihrem Projekt zum Beispiel in AppServiceProvider oder RouteServiceProvider überschreiben.

Aber ich empfehle Ihnen, Ihre benutzerdefinierte Funktion mit einigen Namespaces zu verwenden, die Sie in den Dateien angeben sollten, die Sie benötigen.