Php 获取整个语言文件数组
我是《拉维4.0》的新手Php 获取整个语言文件数组,php,laravel,laravel-4,Php,Laravel,Laravel 4,我是《拉维4.0》的新手 如何从lang/en/text.php获取整个数组 是否有Lang::getAll()方法 我的目标是在我的基本控制器中生成关键字/描述,将它们填充到主刀片模板中的元标记和DOM中的其他位置。如果我的方法完全错误,请告诉我 从关联数组生成关键字和描述不是问题所在,而是缺乏关于框架的知识。我在谷歌上搜索了很长一段时间才来到这里 使用刀片模板: 这是我的BaseController: class HomeController extends BaseController
- 如何从
获取整个数组lang/en/text.php
- 是否有
方法Lang::getAll()
class HomeController extends BaseController {
protected $layout = 'layouts.master';
private $keyWords = array();
private function getKeyWords () {
// ???
}
public function getIndex() {
return View::make('home')
->with('errorcanvas', trans('texts.canvas'))
->with('errortextwebgl', trans('texts.webgl'))
...;
}
...
}
我发现了一些东西:
illighted\Translation\FileLoader load()
用于加载具有给定语言环境的消息
…以下是加载它们的方法:
Route::get('test', function()
{
$a = File::getRequire(base_path().'/app/lang/en/pagination.php');
foreach($a as $key => $value)
{
echo "$key => $value<br>";
}
});
我必须找到在我的Glottos软件包中创建语言导入命令的方法:。Antonio完美地回答了语言文件的加载问题,但我不喜欢你的方法。
这可以做得容易得多。为什么不这样做呢
// view file
<html>
<head>
<meta name="description" content="{{ trans('texts.description') }}">
...
</head>
...
</html>
//查看文件
...
...
您不需要通过控制器发送所有内容,这会使您的控制器干净。您可以使用Lang::get()
比如说,一个语言文件:lang/en/countries.php
return [
'afg' => 'Afghanistan',
'ala' => 'Aland',
'alb' => 'Albania',
'dza' => 'Algeria',
'asm' => 'American Samoa'
];
使用Lang::get()方法从语言文件中检索行
$array = Lang::get('countries'); // return entire array
$text = Lang::get('countries.afg'); // return single item
对于上面的Laravel 5.0,您还可以使用transhelper函数,它是Lang::get()方法的别名
$array = trans('countries'); // return entire array
$text = trans('countries.afg'); // return single item
您实际上也可以使用helper函数\uuu(“lang\u文件”)
。谢谢Antonio!我在API中找不到任何关于文件类的信息,我做错了什么???pc shooter:改为尝试\File?您可以添加名称空间:使用illumb\Support\Facades\File代码>确定1行,但我需要整个数组。看@Antonio的解决方案现在我明白你的方法了。也很不错。原因是我将在DOMGotcha中的其他位置使用它:如果pagination.php中有名为“next.page”和“next.item”的数组键,它将无法与Lang::get('pagination.next')
一起使用。您必须确保“next”是一个数组。我花了一段时间才弄明白:)Info:Lang::get('messages')将获取Laravel5.4中Lang/messages文件夹下的所有Lang数组。可能对某些人有帮助类似en.json的语言文件呢?如何获取文件的所有内容?除了文件读取;)@要加载json文件,我发现如果您使用\Lang::get('*')
您将以数组的形式获得所有内容。请参阅@Justin answer以获得正确的Laravel方法。它应该被接受answer@Gaz_Edge是的,你说得对。我需要这个来在javascript中包含消息。非常感谢。
$array = Lang::get('countries'); // return entire array
$text = Lang::get('countries.afg'); // return single item
$array = trans('countries'); // return entire array
$text = trans('countries.afg'); // return single item