配置信息
默认情况下,Masonite 中的配置文件存放在项目中名为 config
的一个文件夹中。
每个功能都可以在其以该功能命名的文件中,并存放相关的配置选项。例如,你将在 config/mail.py
文件中找到与邮件相关的选项。
入门
Configuration
类负责在应用程序启动之前加载所有配置文件。
它将加载位于通过 config.location
绑定定义的路径中的所有文件,默认为 config/
。
然后根据它们所属的文件访问值,并且可以使用虚线路径访问嵌套选项。
以下为 config/mail.py
的文件示例:
from masonite.environment import env
FROM_EMAIL = env("MAIL_FROM", "no-reply@masonite.com")
DRIVERS = {
"default": env("MAIL_DRIVER", "terminal"),
"smtp": {
"host": env("MAIL_HOST"),
"port": env("MAIL_PORT", "587"),
"username": env("MAIL_USERNAME"),
"password": env("MAIL_PASSWORD"),
"from": FROM_EMAIL,
}
}
- 访问
mail
将返回一个包含所有选项的字典。 - 访问
mail.from_email
将返回FROM_EMAIL
值 - 访问
mail.drivers.smtp.port
将返回 smtp 驱动程序的端口值。
获取配置值
要读取配置值,可以使用 Config
门面(Facade):
from masonite.facades import Config
Config.get("mail.from_email")
# a default value can be provided
Config.get("database.mysql.port", 3306)
或 config
助手函数:
from masonite.configuration import config
config("mail.from_email")
# a default value can be provided
config("database.mysql.port", 3306)
设定配置值
设置配置值是通过项目配置文件来实现的。
重写覆盖配置值
你可以使用 Config
门面动态覆盖配置值:
Config.set("mail.from_email", "support@masoniteproject.com")
注意:这应该谨慎执行,因为这可能会产生意想不到的副作用,具体取决于你覆盖配置选项的时间。
当你想要覆盖配置选项以测试特定行为时,这在测试期间非常有用:
def test_something(self):
old_value = Config.get("mail.from_email")
Config.set("mail.from_email", "support@masoniteproject.com")
# 测试...
Config.set("mail.from_email", old_value)
但是,如果你只是想根据环境(开发、测试或生产)进行不同的配置,则应该改用 环境变量 来定义配置选项。
本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。