【问题标题】:Lang::get in artisan command not workingLang::get in artisan 命令不起作用
【发布时间】:2015-04-24 17:10:23
【问题描述】:

喂! 我正在使用 Laravel 4.2 开展一个学校项目,我正在尝试根据从数据库中获取的一些数据创建 PDF 报告。一切正常,但本地化存在问题。 Lang::get() 在调用表单控制器或视图时不起作用,但 PDFD.php 的格式正确。

$result_table ="<table><tr><th>".Lang::get('PDFD.foo', array(), $loca)."</th><th>".Lang::get('PDFD.bar', array(), $loca)."</th><th>".Lang::get('PDFD.bas', array(), $loca)."</th></tr>";

上面的代码应该生成所选语言的表头,但它会返回键,即使 lang/en/PDFD.php 文件中应该有相应的值。

我正在使用 TCPDF 创建 pdf 文件,但我看不出这将如何导致此问题...

任何想法如何解决这个问题?甚至可以在工匠命令中使用本地化吗?

【问题讨论】:

  • 该文件应位于lang/{locale}/PDFD.php,而不仅仅是您所说的lang/PDFD.php
  • 我的错。我修复了问题中的路径,因为这不是问题。
  • 我假设 PDFD.php 包含 &lt;?php return ['foo' =&gt; 'foo', 'bar' =&gt; 'bar', 'bas' =&gt; 'bas']; ?
  • “应该。”我的大脑说,但事实证明它并没有丢失 PDFD.php 中的return 声明......添加了声明,现在它就像一个魅力一样工作。
  • 你在使用命名空间吗?尝试像这样 \Lang::get() 向语言添加反斜杠

标签: php laravel laravel-4 laravel-artisan


【解决方案1】:

感谢Ben Swinburne,我意识到PDFD.php 缺少文件开头的return 语句。添加语句使程序运行起来就像一个魅力。

教训:永远不要认为问题会自动变得复杂,并从最简单的解决方案开始调试。

【讨论】:

    猜你喜欢
    • 2016-08-19
    • 2021-05-10
    • 2017-10-10
    • 2020-10-27
    • 2016-02-15
    • 2016-04-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-18
    相关资源
    最近更新 更多