繁体   English   中英

Laravel 5.4中的未定义常数

[英]Undefined constant in Laravel 5.4

我正在将旧代码从4.2迁移到5.4。 我的index.php触发了错误:未定义的常量CURRENCY_BEFORE假定为'CURRENCY_BEFORE

从这一行:

<select name="curreny_position">
    <option value="BEFORE"
    <?php if ($curr_pos['value'] == CURRENCY_BEFORE) echo "selected"; ?>> 
     Before
    </option>
    <option value="AFTER" <?php if ($curr_pos['value'] == CURRENCY_AFTER) echo "selected"; ?>>After
    </option>

我不确定这是否有帮助,但这是我的settings.php文件中的标注:

{
    $currency_position = self::param('site', 'curr_position')['value'];
    $currency = self::param('site', 'currency')['value'];
    switch ($currency_position) {
        case CURRENCY_BEFORE:
            return implode(' ', [$currency, number_format($amount, 2)]);
            break;
        case CURRENCY_AFTER:
            return implode(' ', [number_format($amount, 2), $currency]);
            break;
 }

定义上面的CURRENCY_BEFORE的正确方法是什么?

我建议将常量的定义移到配置文件中

<?php
/**
 *  file: app/config/constants.php
 */

return [
    'CURRENCY_BEFORE' => 'BEFORE'
];

那么您可以通过Config::get('constants.CURRENCY_BEFORE')调用应用程序中的任何位置

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM