Codeigniter:如何向受控(测试版)用户组推出功能?
Posted
技术标签:
【中文标题】Codeigniter:如何向受控(测试版)用户组推出功能?【英文标题】:Codeigniter: how do I roll out features to controlled (beta) groups of users? 【发布时间】:2011-03-03 09:53:15 【问题描述】:说明
我正在使用 CodeIgniter 构建一个 Web 应用程序。由于我不断添加新功能,其中一些可能不稳定。因此,我希望有一种方法可以首先将这些功能“推广”到指定的组。如果一切顺利,我会为整个用户社区提供该功能。
我现在考虑的解决方案包括一个配置文件,其中包含每个发布组的功能数组:
alpha = array(
"feature A" => true,
"feature B" => true,
"feature C" => true
);
beta = array(
"feature A" => true,
"feature B" => true,
"feature C" => false
);
production = array(
"feature A" => false,
"feature B" => false,
"feature C" => false
);
然后,我的应用程序中的用户被分成组(alpha、beta、生产),系统将为当前用户提供适用的功能。
“提供适用的功能”的这一部分我现在正在考虑使用以下(丑陋的)构造:
if ($feature_array["feature A"])
/* run the code for feature A */
不过,这种结构的问题是,如果向所有用户推出该功能,则不再需要此代码,但仍会保留在那里。
我的问题
是否有此类功能的解决方案/标准设置/库,并避免我在功能完全推出时不得不返回并删除这些“if 语句”?
【问题讨论】:
codeigniter.com/forums/viewthread/154529 可能有用 【参考方案1】:这是非常基本的,但请查看Turnstyles。
【讨论】:
@phil 那个 repo 和用户好像已经走了,你知道它是否可能已经搬到别的地方了吗?【参考方案2】:我个人希望开发一个基于角色的身份验证系统
不确定是否已经在生产中,但基本上你会使用一个包含角色的表,为每个成员分配一个特定的角色(或用户级别,如果你愿意的话)
然后您可以在控制器/模型中的业务逻辑中提供适当的功能。
一旦某个功能通过了 beta 阶段,您就可以更新每个角色的角色,以便他们可以访问。
(从头开始做正确的工作需要大量的工作,但取决于您希望它的可扩展性,它可能值得做)。
您也可以考虑ACL - CI 有several 现有的解决方案。
【讨论】:
以上是关于Codeigniter:如何向受控(测试版)用户组推出功能?的主要内容,如果未能解决你的问题,请参考以下文章
检查 codeigniter 查询错误,而不是向用户显示它们
使用 Codeigniter,我如何向其他开发人员隐藏 Paypal 凭据?