我正在做一个多语言的网站,我使用了一个路由:在我的route.php中带有前缀的组。
现在,我试图抓取语言的变量,知道我正在浏览的是哪种语言,然后使用它来查询数据库。
我发现了一个问题,如何从url中获取多个变量?
Route::get('/{vedi}/{fuffa}', function($vedi, $fuffa)
{
$arrays=array(['campo'=>$vedi,
'lingua'=>$fuffa]);
return View::make('abc')->with('data',$arrays);
});
在我的“abc”看来,我会要求
{{$data->campo}}
但他告诉我这不是一个物体。( 1)我能做什么?(2)这是一种建立多语言网站的corret方法吗?
发布于 2014-03-12 02:47:31
对于1)您正在尝试通过不存在的$data
对象访问数据。您尝试访问您的值,比如如果$data
是一个对象(通过使用->campo
)。
如果你有一个数组会发生什么。在这种情况下,您可以像这样访问变量:
{{ $data['campo'] }}
你也能做的是:
$arrays=array('campo'=>$vedi,
'lingua'=>$fuffa);
return View::make('abc')->with($arrays);
});
然后,在您的视图中,您将有直接可用的变量,而不是在一个$data数组中:
{{ $campo }}
对于2)您可以使用laravels本地化功能。基本上,您为具有相同消息结构的每种语言创建一个或多个文件。在您的视图中,您访问相同的消息,但是根据所选择的语言显示正确的消息。
https://stackoverflow.com/questions/22348834
复制