【问题标题】:Laravel multiple route aliasesLaravel 多个路由别名
【发布时间】:2015-05-21 06:38:36
【问题描述】:

我正在尝试使用一组别名创建一个路由,所以当我在 url 中调用 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') 并让它像我在url 上键入时一样工作?

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

【问题讨论】:

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


【解决方案1】:

在使用route 函数生成路由期间,Laravel 期望您设置路由参数的值。您将参数 whois 留空,因此捕获 {whois} 的参数将不会被替换,并导致 %7B&amp;7D 获得赞誉。

因此,为了生成路由,您需要定义要用于 whois 的值;以{{ route('whois', ['whois'=&gt;'whois']) }} 为例。

【讨论】:

  • 太棒了!非常感谢您对 route 函数如何工作的解释!它就像一个魅力。谢谢:)
猜你喜欢
  • 2019-03-07
  • 2016-04-10
  • 2023-04-04
  • 1970-01-01
  • 1970-01-01
  • 2020-05-31
  • 2019-09-10
  • 2019-12-07
  • 2020-11-16
相关资源
最近更新 更多