使用特征标志的实例介绍

76 阅读1分钟

我假设你已经意识到了这个问题,所以我不打算解释什么是 "特征标志"。相反,我将解释我将如何使用它。

一个特性标志应该是可以安全移除的,这样在没有它的情况下,代码就会优雅地回到 "接受/默认 "的行为,而不会触及代码。你唯一应该问自己的问题是:"在默认情况下,这个功能是启用还是禁用?"。

例子

你有一个网站,它有一个 "超级管理员登录 "功能。一个超级管理员在登录后可以在网站上做任何事情。假设这是 "默认 "的行为,所以这就是为什么它一开始就被实施。如果我们要用一个功能标志来控制这个功能,我们会像下面这样做。

问:"在默认情况下,这个功能是启用还是禁用?"
答:"是的,启用!"

// This is the feature flag.
SUPER_ADMIN_LOGIN_ENABLED: true

// This is the code that depends on the feature flag in login file.
if (ENABLE_SUPER_ADMIN_LOGIN == false) {
    echo "super admin login has been disabled"
    exit;
} else { // null (absence) or true
    echo "super admin login has been enabled"
    continue;
}

正如你所看到的,如果你删除了功能标志,你的系统将优雅地回到 "接受/默认 "行为,即super admin login has been enabled