【问题标题】:String Resource in laravel programming?laravel编程中的字符串资源?
【发布时间】:2016-07-18 12:30:26
【问题描述】:

有什么方法可以代替刀片中的硬编码字符串,而是使用字符串资源(或字符串表)之类的东西,所以如果你更改字符串,每个刀片都会被更改。例如,我使用一个名为“string1”的变量,而不是在刀片中存储编码“产品”,所以如果有一天我将 string1 值更改为“服务”,每个刀片都会受到影响并且很好。

【问题讨论】:

  • 使用语言/本地化字符串,或者在 config 文件夹中创建一个文件,最后使用 Config::get('file.array_item');

标签: php laravel hardcode hardcoded hard-coding


【解决方案1】:

也许对语言文件使用本地化,所以你可以使用

{{ trans('string1') }}

在刀片视图中。更多信息:https://laravel.com/docs/5.0/localization

还有这两个功能

trans
Translate a given language line. Alias of Lang::get.

$value = trans('validation.required'):


trans_choice
Translate a given language line with inflection. Alias of Lang::choice.

$value = trans_choice('foo.bar', $count);

【讨论】:

    【解决方案2】:

    你可以(错误地)使用像 this one 这样的翻译系统。

    【讨论】:

      【解决方案3】:

      我是 laravel 的新手,但这是我的一个想法。

      创建包含变量的 myString.php

      示例:

      <?php
       $string1 = "products";
      ?>
      

      在你的文件中

      <?php
       inlude_once("myString.php");
       {{ $string1 }}
      ?>
      

      我希望这可以帮助您想出更好的解决方案。

      祝你好运。

      【讨论】:

        【解决方案4】:

        从 Laravel 5.4 开始,您可以使用双下划线:

        {{ __('Register') }}
        

        这样做的好处是您无需执行任何其他操作即可输出(在本例中)“注册”。

        您可以更改在相应的messages.php 文件中显示的值,或者通过创建一个json 文件,如docs 中所述。

        【讨论】:

          猜你喜欢
          • 2011-10-19
          • 1970-01-01
          • 1970-01-01
          • 2018-02-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多