Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
426 views
in Technique[技术] by (71.8m points)

laravel 为什么要大量使用env而不是普遍用的常量定义的方式呢?

laravel 为什么要大量使用env而不是普遍用的常量定义的方式呢?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

题主理解错了,laravel并没有把常量写到env。

laravel的常量还是常量,而且一般在类内部。例如:

clipboard.png

在解释这个问题之前,题主需要先区分环境变量(env) 配置信息(config) 常量(define) 的区别。

环境变量,顾名思义,是根据运行环境不同而不同的变量。例如临时文件目录 数据库账号密码 这些。

配置信息,是代码中可切换部分的提取。例如我的程序里面,支持两种缓存方式file和redis,那么我可以直接写死在代码中。或者更好的写在配置中。不用去找到实现代码便可以切换缓存。

常量,顾名思义,是通常不会改变的变量,所以一般在代码中写死即可。这种东西一般是某个协议规定死的。在写请求类(Request)的时候,我们知道HTTP 请求中,有很多东西是规定死的,例如GET方法的字符串是GET,这个GET就是个常量。

laravel是一个优雅的框架,所以很少使用全局的define来定义全局常量,而是更多的使用类常量。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...