美文网首页
3,Laravel的配置

3,Laravel的配置

作者: 陈钢镚学财 | 来源:发表于2017-08-27 22:37 被阅读0次
导读.png

配置介绍

在学习配置信息之前,建议需要对Laravel的目录结构有一定了解。如果你还不熟悉Laravel的目录结构,不妨回到上一章进行了解。

简单理解,配置就是Laravel及用Laravel开发的项目在运行过程中需要读取的基本信息,这些信息用于支撑项目的基本运行。
如,Laravel需要配置项目名,URL,数据库连接信息等,这些常态化的参数便可以写在配置里。

Laravel的所有配置信息,都存放在config文件夹下,只要在这个文件夹下,你就可以自由的增加以.php结尾的配置文件。

配置分类

Laravel的配置大致分为以下四种:

  • 环境配置
  • 测试环境配置
  • 静态配置
  • 动态配置

环境配置

环境配置,保存在项目根目录下的.env文件,默认情况下,它不会自动生成,而是通过以“.env.example”为模板复制生成的。环境配置能为开发者解决在不同环境下,需要不同配置的问题。

如,我在部署环境和开发环境下,连接的数据库是不同的,这时候,我不能每一次用git同步时,都修改一遍数据库连接的配置信息,而环境配置.env文件再git下,默认是被隐藏的,它便不会在代码同步时产生合并,这样一来,我在部署环境和开发环境都只需要配置一次数据库连接信息,之后便不需要再更改了。

但是有一点需要记住,写在.env文件中的配置,不会自动加载到框架中的,如果你读过config/app.php的话,你会发现许多配置,框架本身都使用了env方法进行赋值,原因在于,Laravel运行时,默认读取的还是config下的配置信息,之所以能够在.env文件下控制配置的值,是在config的一些配置信息中,框架作者使用env方法来动态读取.env下的值。

Laravel提供了env函数,用于读取环境配置

测试环境配置

Laravel还集成了PHPUint单元测试,当测试的时候,或许使用的环境配置又不一样,但测试通常会在开发环境下进行,这时候为了避免测试的时候改配置,测试完又改回开发配置,Laravel又提供了测试环境配置的功能。
设置测试环境配置很简单,只需要拷贝.env文件为.env.testing,在其中配置特定的参数即可。
配置完成之后,运行PHPUint测试,或在使用php artisan时带上--env=testing,Laravel就会读取.env.testing文件来替换.env的配置

静态配置

静态配置便是config目录下的配置文件,这些配置都是php文件,以数组的形式返回。

动态配置

动态配置便是在Laravel运行过程中设置的配置值,但它不是永久性的设置,而是仅在这一次脚本运行生命周期以内有效。
理解上面静态配置之后,大家或许就能想到,静态配置只能够写死在配置文件中,但如果当代码运行到某个if语句时,我们希望符合条件和不符合条件能对同一个配置得到两种不同的值,这时候,写死在配置文件中的配置信息恐怕是无能为力的。
这时候,便需要动态配置来解决这个问题。

Laravel提供了config函数来获取配置值和设置动态配置。

缓存配置

Laravel有这么多的配置文件,PHP又是解释型语言,可以想象,当每一次请求发生,程序都将读取config下的文件来生成配置,这对于开发模式下固然是个好事,因为每次设置完配置就能立即在下一次请求中生效,但对于部署模式,却是一种无用的消耗,当配置值稳定之后,基本不会出现什么变更,这时候就可以使用缓存配置来减少无用开销。
缓存配置的命令:php artisan config:cache
该命令将会在根目录的bootstrap/cache中生成config.php缓存文件,当不想用配置缓存时,可以将该文件删除

维护模式

简单理解,维护模式就是一种能够彻底关闭Laravel所有功能服务的模式,它能让整个Laravel项目停止工作。
当维护模式下的Laravel接收到请求,它会抛出MaintenanceModeException异常,并为http请求返回503错误码。
php artisan down开启维护模式(关闭Laravel项目)
php artisan up关闭维护模式(开启Laravel项目)

维护模式的响应模板在resources/views/errors/503.blade.php下

相关文章

网友评论

      本文标题:3,Laravel的配置

      本文链接:https://www.haomeiwen.com/subject/rhnidxtx.html