Laravel多个路由别名

时间:2015-03-18 12:57:52

标签: php laravel laravel-4 blade laravel-routing

我正在尝试创建一个带有别名数组的路径,所以当我在网址中调用whoiswho_is时,它会转到相同的路线。

然后我不需要每次都重复代码,只更改别名。

我尝试了下面的代码。

路线中的变量:

$path = 'App\Modules\Content\Controllers\ContentController@';
$aliases['whois'] = '(quemsomos|who_is|whois)';

路线:

Route::get('{whois}', array('as' =>'whois', 'uses' => $path.'getWhois'))->where('whois', $aliases['whois']);

这个也适用

Route::get('{whois}', $path.'getWhois')->where('whois', $aliases['whois']);

在网址my_laravel.com/whoismy_laravel.com/who_ismy_laravel.com/quemsomos中输入会将我发送到$path.'getWhois' (这是正确的)

但是当我尝试在刀片上的html中调用它时...

<a href="{{ route('whois') }}">Who we are</a>

参考链接转到my_laravel.com//%7Bwhois%7D

我怎样才能在我的blade.php上调用route('whois')并让它像在网址上输入一样工作?

我想在我的刀片中使用route函数,所以我可以保留一个模式。

1 个答案:

答案 0 :(得分:5)

在使用route函数生成路径期间,Laravel希望您设置route参数的值。您将离开参数whois为空,因此不会替换参数捕获{whois},并且会获得%7B&7D的荣誉。

因此,为了生成路线,您需要定义您想要用于whois的值;例如{{ route('whois', ['whois'=>'whois']) }}