zhamao-framework/docs/guide/configuration.md

48 lines
2.0 KiB
Markdown
Raw Normal View History

2022-12-26 18:31:27 +08:00
# 配置
2023-01-05 10:43:44 +08:00
炸毛框架的所有配置文件都存储在 `config/` 目录中。每个选项都带有文档,所以你可以查阅这些文件并熟悉可用的配置项。
2022-12-26 18:31:27 +08:00
一般来说,我们建议你优先查看 `config/global.php` 文件及其文档,它包含了运行框架所需要的绝大部分配置,例如通信方式和时区等。
## 配置文件格式
除了 `php` 文件外,我们还支持以下格式:
- YAML
- JSON
- TOML
## 环境配置
根据运行的环境采用不同的配置值是很有必要的,例如你可能希望在本地和生产环境中使用不同的数据库配置。
为了方便这一功能,我们提供了基于环境的配置加载措施。你可以在启动框架时使用 `--env` 选项指定当前环境,例如 `./zhamao server --env=production`
如果未明确指定当前环境,则默认环境为 `development`
如果要使某一配置文件只在特定环境下记载,你可以为给文件添加后缀,例如 `example.production.php` 只会在当前环境为 `production` 时加载。
你可以同时设置基础配置文件和环境特定配置文件,例如 `global.php``global.production.php` ,后者将会覆盖前者中的配置项。
### 配置安全
我们**非常不建议**你将数据库信息、访问密钥的敏感字段提交给版本控制,因为这可能会导致相关信息的泄露,同时也不利于其他开发人员修改自己的本地配置。
相反,我们建议你借助 DotEnv 等库,将相关配置信息写入 `.env` 文件中,并按需读取。
## 访问配置项
2023-01-05 10:43:44 +08:00
你可以在任何地方使用全局 `config()` 函数获取配置项值。支持使用点语法获取,配置项名称由文件名开头,并允许指定默认值。
2022-12-26 18:31:27 +08:00
```php
# 获取时区,未设置则返回 Asia/Shanghai
$value = config('global.runtime.timezone', 'Asia/Shanghai');
```
你也可以使用 `config` 函数设置配置项,传递数组即可:
```php
# 将时区修改为 UTC
config(['global.runtime.timezone' => 'UTC']);
```