在 laravel 中添加常量的最佳实践是什么? (长名单)

新手上路,请多包涵

我对 laravel 比较陌生。我有一个基本问题,在 laravel 中添加常量的最佳方法是什么。我知道我们用来添加常量的 .env 方法。我还制作了一个常量文件来将它们用于我的项目。例如:

 define('OPTION_ATTACHMENT', 13);
define('OPTION_EMAIL', 14);
define('OPTION_MONETERY', 15);
define('OPTION_RATINGS', 16);
define('OPTION_TEXTAREA', 17);

等等。它可以达到 100 条或更多条记录。那么编写常量的最佳方法应该是什么。 .env 方法。或者添加 constant.php 文件?

谢谢

原文由 Faran Khan 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 640
2 个回答

对于在应用程序中全局使用的大多数常量,将它们存储在配置文件中就足够了。这也很简单

config 目录下新建一个文件。我们称之为 constants.php

在那里你必须返回一个配置值数组。

 return [
    'options' => [
        'option_attachment' => '13',
        'option_email' => '14',
        'option_monetery' => '15',
        'option_ratings' => '16',
        'option_textarea' => '17',
    ]
];

您可以按如下方式访问它们

config('constants.options');
// or if you want a specific one
config('constants.options.option_attachment');

原文由 K Arun Singh 发布,翻译遵循 CC BY-SA 4.0 许可协议

我会亲自为此创建一个课程。

 <?php

namespace App\Transaction\Constants;

/**
 * Class TransactionTypeConstant.
 */
final class TransactionTypeConstant
{
    public const TYPE_CREDIT = 'CREDIT';
    public const TYPE_DEBIT = 'DEBIT';
}

并像这样使用它:

 <?php

namespace App\Transaction;

use App\Transaction\Constants\TransactionTypeConstant;

class Transaction
{
    /**
     * Execute the task.
     *
     * @return object
     */
    public function run()
    {
        if ($transaction->type === TransactionTypeConstant::TYPE_DEBIT) {
            //do something
        }
    }
}

原文由 berusjamban 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题