Php 获取整个语言文件数组

Php 获取整个语言文件数组,php,laravel,laravel-4,Php,Laravel,Laravel 4,我是《拉维4.0》的新手 如何从lang/en/text.php获取整个数组 是否有Lang::getAll()方法 我的目标是在我的基本控制器中生成关键字/描述,将它们填充到主刀片模板中的元标记和DOM中的其他位置。如果我的方法完全错误,请告诉我 从关联数组生成关键字和描述不是问题所在,而是缺乏关于框架的知识。我在谷歌上搜索了很长一段时间才来到这里 使用刀片模板: 这是我的BaseController: class HomeController extends BaseController

我是《拉维4.0》的新手

  • 如何从
    lang/en/text.php
    获取整个数组
  • 是否有
    Lang::getAll()
    方法
我的目标是在我的基本控制器中生成关键字/描述,将它们填充到主刀片模板中的元标记和DOM中的其他位置。如果我的方法完全错误,请告诉我

从关联数组生成关键字和描述不是问题所在,而是缺乏关于框架的知识。我在谷歌上搜索了很长一段时间才来到这里

使用刀片模板: 这是我的BaseController:

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