配置信息

未匹配的标注

默认情况下,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)

但是,如果你只是想根据环境(开发、测试或生产)进行不同的配置,则应该改用 环境变量 来定义配置选项。

本文章首发在 LearnKu.com 网站上。

本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://learnku.com/docs/masonite/4.0/fe...

译文地址:https://learnku.com/docs/masonite/4.0/fe...

上一篇 下一篇
贡献者:1