环境变量,顾名思义就是在不同的系统环境,同一个变量的值可以有所不同。

如开发环境、测试环境与正式环境下,数据库配置、静态资源文件Url前缀、缓存、各种key等配置都不相同,对于提交到仓库中的代码,理论上不应该将与环境相关的这些参数传进去。但怎样实现有所区分,各自维护呢?没有经历过团队协作开发和利用工具自动化部署代码的人应该不会理解其中的小痛苦。环境变量就是一个比较好的实现方式了。

TP的v5中利用PHP对环境变量的读取以及模拟环境变量的支持,可以很好的实现这种需求。

以下为引用http://www.kancloud.cn/manual/thinkphp5/189989:

在开发过程中,可以在应用根目录下面的.env来模拟环境变量配置,.env文件中的配置参数定义格式采用ini方式,例如:

app_debug =  true
app_trace =  true

如果你的部署环境单独配置了环境变量,那么请删除.env配置文件,避免冲突。

使用下划线分割定义配置参数名:

database_username =  root
database_password =  123456

或者使用

[database]
username =  root
password =  123456

获取环境变量的值可以使用下面的两种方式获取:

Env::get('database.username');
Env::get('database.password');
// 同时下面的方式也可以获取
Env::get('database_username');
Env::get('database_password');

可以支持默认值,例如:

// 获取环境变量 如果不存在则使用默认值root
Env::get('database.username','root');

可以直接在应用配置中使用环境变量,例如:

return ['hostname'  =>  Env::get('hostname','127.0.0.1'),
];

环境变量中设置的app_debug和app_trace参数会自动生效(优先于应用的配置文件),其它参数则必须通过Env::get方法才能读取。

环境变量的配置方法在此不详述了。

转载于:https://www.cnblogs.com/x3d/p/6603441.html

TP v5中环境变量在项目中的应用相关推荐

  1. linux 变量的继承,solaris移植到linux的大坑:bash和sh中环境变量继承的差异

    问题的引出 项目中脚本A .B,A调用B, 其中A中所有命令均使用绝对路径,B中直接使用 在solaris上工作正常,移植到linux中报错: /syscom/lm/linux//backupgen: ...

  2. nodejs 获取系统环境变量_Node.js中环境变量process.env的一些事详解

    前言 最近这两天在和运维GG搞部署项目的事儿.碰到一个问题就是,咱们的dev,uat,product环境的问题. 因为是前后端分离,所以在开发和部署的过程中会有对后端接口的域名的切换问题.折腾了一下午 ...

  3. 华北计算机研究无人机,飞马D200无人机在华北某环境地调项目中的应用案例

    一.环境地质调查简介 环境地质调查是通过对区域地质环境条件和由自然地质作用及人类活动引起的环境地质问题的调查研究,评价预测资源开发与国土整治的环境地质条件,论证重大区域性环境地质问题和有关地质灾害的地 ...

  4. java se环境变量设置_JavaSE中环境变量的配置

    在说Java中环境变量配置之前,还是先说说JDK和JRE吧. JRE(Java Runtime Environment),即Java的运行环境.主要包括JVM(Java Virtual Machine ...

  5. setlocal启动批处理文件中环境变量的本地化

    setlocal启动批处理文件中环境变量的本地化 在执行 SETLOCAL 之后所做的环境改动只限于批处理文件.要还原原先的设置,必须执行 ENDLOCAL. 学习了:https://baike.ba ...

  6. bashrc文件中环境变量配置错误,导致linux命令无法正常使用的解决方案

    分析原因 bashrc文件中环境变量配置错误,导致linux无法正常使用. 其实解决问题的方法很简单:把你在bashrc文件中写错的东西注释掉或者改写正确即可. 可是此时图形界面登陆不了,vim用不了 ...

  7. Linux中环境变量文件及配置

    一.环境变量文件介绍 转自:http://www.cnblogs.com/mengyan/archive/2012/09/04/2669894.html Linux中环境变量包括系统级和用户级,系统级 ...

  8. JavaSE中环境变量的配置

    在说Java中环境变量配置之前,还是先说说JDK和JRE吧. JRE(Java Runtime Environment),即Java的运行环境.主要包括JVM(Java Virtual Machine ...

  9. Linux中环境变量的设置——setenv/export

    Linux中环境变量的设置--setenv/export 环境变量 境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统 ...

最新文章

  1. json解析:[1]gson解析json
  2. Android面试题目之二:整形转换为字符串
  3. BlockChain:《Blockchain Gate》听课笔记——区块链的共识机制—简介、理解、畅谈
  4. 无线抄表免费透传云服务器,两个WIFI模块USR-WIFI232-B2连接有人云实现远程一对一透传...
  5. Spring 基于注解(annotation)的配置之@Autowired注解
  6. android中常见的回调模式
  7. 7 行代码优雅地实现 Excel 文件导出功能?
  8. 52.3. HAVING
  9. java泛型,“参数化参数”的基本理解
  10. python画三维图-Python 绘制酷炫的三维图步骤详解
  11. java模拟多个用户操作,JAVA 模拟多用户提交动作
  12. 分享两个必应壁纸接口,可用来获取高质量壁纸和故事
  13. 芯洲 DCDC SCT2433STER参数可以P2P替代TPS5430DDAR,3.8V-40V输入,3.5A,低静态电流同步降压DCDC转换器
  14. 再谈GPU的内存带宽
  15. 3.2 发送请求参数
  16. Objective-C文字换行方式(解决英文在行末时的换行问题)
  17. 山东计算机单招考哪些科目,单招考什么内容 单招一般考什么科目
  18. java jtextarea 监听文本_Java Swing JTextArea文本区域的实现示例
  19. Python 常用的占位符
  20. 测试如何与开发人员进行沟通

热门文章

  1. 视频直播技术详解(1)采集
  2. HSV(HSL)颜色空间及其应用
  3. Android中级篇之百度地图SDK v3.5.0-一步一步带你仿各大主流APP地图定位移动选址功能
  4. 内联汇编 - 从头开始
  5. 《Python数据科学指南》——1.16 使用lambda创造匿名函数
  6. WC2017 Day1
  7. ㉔云上场景:瑞云科技,支持Render cloud的超强计算
  8. 从一道面试题说去 2
  9. Android 百度地图开发(一)--- 申请API Key和在项目中显示百度地图
  10. oracle入门学习(3) 所用的学习环境介绍与设置