从多语言网站的网址传递超过1个变量

时间:2014-03-12 10:38:05

标签: php laravel-4

我正在做一个多语言网站,我使用路由:我的route.php中带有前缀的组。

现在,我正在尝试获取语言变量以了解我正在查看网站的语言,然后使用它来查询数据库。

我发现了一个问题,如何从网址获取1个以上的变量?

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)这是建立网站多语言的正确方法吗?

1 个答案:

答案 0 :(得分:0)

1) 您正尝试通过不存在的$data对象访问您的数据。您尝试访问自己的值,例如$data是一个对象(使用->campo)。

你有一个阵列实际发生了什么。在您的情况下,您可以像这样访问您的变量:

{{ $data['campo'] }}

你还能做什么:

$arrays=array('campo'=>$vedi,
    'lingua'=>$fuffa);

return View::make('abc')->with($arrays);
});

然后,在您看来,您将直接使用变量,而不是在一个$ data数组中:

{{ $campo }}

2) 您可以使用laravels本地化功能。基本上,您为具有相同消息结构的每种语言创建一个或多个文件。在您的视图中,您接收相同的消息,但根据查看者选择的语言,将显示正确的消息。

See Laravel Localization here