当前位置: 首页 > 知识库问答 >
问题:

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

杨慎之
2023-03-14

我对拉雷维尔还不太熟悉。我有一个基本问题,在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文件?

谢啦

共有3个答案

俞新翰
2023-03-14

你的问题是关于“最佳实践”,你问了“. env方法”。

.env仅适用于因环境更改而更改的变量。不同环境的示例:测试、验收、生产。

因此.env包含数据库凭据、API密钥等。

. env不应该包含在所有环境中相同的常量。只需使用建议的配置文件。

边桐
2023-03-14

我使用别名类常量:

首先,创建包含常量的类:App/MyApp.php例如

namespace App;

class MyApp {
   const MYCONST = 'val';
}

然后将其添加到config/app.php

'aliases' => [
  //...
  'MyApp' => App\MyApp::class,

最后,在您喜欢的任何地方使用它们(控制器甚至刀片):

MyApp::MYCONST
薛承基
2023-03-14

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

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

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

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

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

Config::get('constants.options');
// or if you want a specific one
Config::get('constants.options.option_attachment');
 类似资料:
  • 我知道在Laravel中使用常量的最佳实践中已经发布了很多答案。我来自Java世界,在编辑器中检查常量的有效性。在Laravel中,使用config/constants。php方法, 因此,我们使用Config::get('constants.options.balance_outstanding'))语法引用常量,我似乎无法触发语法检查也无法自动完成。如果我们能把鼠标放在上面,看看常数的真实值是

  • 我理解如何(以及为什么)在JSX中添加空白,但我想知道什么是最佳实践,或者是否有任何真正的区别? 将两个元素都包裹在一个跨度中 将它们添加到一行中 用JS添加空间

  • 问题内容: 我刚开始学习Go,并通读现有代码以学习“其他人的做法”。在这种情况下,遍历使用go“工作区”,尤其是与项目依赖关系有关的地方。 在处理各种Go项目时,使用一个或多个Go工作区(即$ GOPATH的定义)的常见(或存在)最佳实践是什么?我应该期望有一个类似于我所有项目的中央代码存储库的Go工作区,还是在我处理这些项目时都明确将其分解并设置$ GOPATH(有点像python) virtu

  • 问题内容: 我将开始使用AngularJS进行客户端和Django进行服务器端项目。 使他们像最好的朋友一样工作的最佳实践是什么(静态文件,身份验证,部署等) 问题答案: 有多种方法可以从Django模板中为客户端模板提供支持,以实现有趣的优化。但是,鉴于Django和AngularJS的模板语言之间的相似之处,在这里几乎不值得付出任何努力。对于此类大多数项目,我会将AngularJS的静态服务与

  • 问题内容: 我正在构建一个基于expressjs的应用程序,我想在其中记录所有事件。我可以找到温斯顿,这似乎很酷。无论如何,我正在寻找一种方法将其连接到我的expressjs应用程序。 我还想要在应用程序内部登录。我的要求不是那么简单,所以我想将所有内容记录在我的应用程序中(不仅是请求)。 我目前的情况: server.js (我想在此级别记录http请求) 路线/something.js con

  • 问题内容: 我刚刚试用了Docker。它很棒,但似乎不能与ufw配合使用。默认情况下,docker将对iptables进行一些操作。结果不是错误,而是我的预期。有关更多详细信息,请阅读UFW + Docker的危险 我的目标是建立一个像 我想通过ufw管理传入流量(例如,限制访问),因此我不希望docker触摸我的iptables。这是我的测试 环境: 新安装的Ubuntu 14.04(内核:3.