Laravel 配置:设置配置信息 1 个改进

介绍

Laravel 框架的所有配置文件都保存在 config 目录中。每一个配置文件里的选项都包含注释,推荐阅读几遍这些选项及其注释。

本文讲解如何设置配置信息。

自定义配置文件

假如需要一个地方来配置社交账号,在 config 文件夹下创建 social.php 文件,填入以下内容:

config/social.php

return [
    'weixin' => 'https://weixin.com/qrcode.png',
    'weibo' => 'https://weibo.com/my_acount'
];

或者可以设置为多维数组:

return [
    'weixin' => [
        'url' => 'https://weixin.com/qrcode.png',
        'username' => 'my_wexin_name'
    ],
    'weibo' => [
        'url' => 'https://weibo.com/my_acount',
        'username' => 'my_acount'
    ]
];

动态设置配置信息

动态设置允许我们在代码中修改配置的信息。

注:动态修改配置信息只会在运行时修改内存里的值,不会修改配置文件。

方法一、 Config facade

利用 Config 在代码中设置配置信息,如:

Config::set('social.weibo.username', 'new_account');

或者可以使用数组的方式来设置:

Config::set([
    'social.weibo.username' => 'new_account',
    'social.weixin.username' => 'new_account',
]);

方法二、 config 函数(推荐)

config 函数可以用来替代 Config facade 的调用,如下:

// 设置一个项目,注意数组使用
config(['social.weibo.username' => 'new_account'])

// 设置多个项目
config([
    'social.weibo.username' => 'new_account',
    'social.weixin.username' => 'new_account',
]);

需要注意的是,config() 函数第一个参数 必须传参数组 才能触发 Config::set() 方法。区分于读取语法,以下调用并非修改配置信息,而是读取 social.weibo.username 配置的值,并设定缺省值:

config('social.weibo.username', '默认值')
// 上面等同于下面,注意是 `get` 而不是 `set`
Config::get('social.weibo.username', '默认值');

参考

本文为 Wiki 文章,邀您参与纠错、纰漏和优化
讨论数量: 2
elesos

已阅

4年前 评论

为什么我创建了文件perfect.php,但是使用config函数调用不到这个文件信息呢

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!