【发布时间】:2015-04-08 14:48:26
【问题描述】:
在旧的 laravel 4 代码中,我们使用 constants.php 来定义全局变量。
在 Laravel 5 中使用定义变量的最佳实践是什么?
我们不会将它存储在 .env 文件或 routes.php 中
【问题讨论】:
-
"variables" - "constants" 这些名字对你没有任何影响?你不应该以任何方式使用全局变量。对于应用程序“常量”,您应该使用
Config。对于类常量,您应该使用类常量。 -
@SergiuParaschiv 你说“你不应该以任何方式使用全局变量”,然后你说“你应该使用 Config”。请解释这两者有何不同??
-
Config用于常量,而不是变量。全局变量,无论是变量还是小心用作常量都是不好的。全局变量只是不好的做法。正如我所说,对于常量有更好的方法 -Config. -
我的意思是,包裹在一个名为
Config的类中的东西怎么突然变得不那么全球化了?相同的问题不同的名字... -
@PeeHaa 不同,因为您不将它用于全局变量。全局变量不好,因为从长远来看,当您不知道是谁或什么在改变它们时,维护健全的应用程序逻辑变得更加困难。另一方面,全局 constants 更易于管理,因为您无法更改它们,因此不必遵循业务逻辑来找出谁或什么在更改它们。
Config相对于普通全局变量(我们在这里只讨论常量)的优势在于,您可以使用内置的依赖注入器以一种可接受的方式管理依赖关系。