如何实施订阅计划限制? (php)

问题描述:

假设我们有一个简单的SAAS,它提供了两种类型的计划。例如,在最便宜的计划中,您最多可以创建20个列表,在下一个计划中,您可以创建多达50个列表。这只是定价模式的一个特点。假定定价模型基于每个计划的4-5个不同特征,那么检查和执行这些限制的最佳做法是什么?如何实施订阅计划限制? (php)

我猜的(凌乱)的方式是添加了一堆的不同点“IFS”,例如:如果$用户>计划 - > limitReached,这样做等

也许另一种方法是是要在用户操作上抛出某种事件,并以更集中的方式处理检查? 对这种情况你有什么想法?任何建议,将不胜感激。 谢谢

+0

一般不要编写这样的限制,而是使用配置目录。除此之外:这不是一个适合本网站使用的问答风格的问题,因为答案可以保存个人喜好。 – arkascha

+0

是的,我猜这不是最合适的地方这种问题,但我没有得到任何答案在其他地方(reddit和laracasts)。尽管谢谢你的回复。 – nteath

+1

我会使用某种ACL,只需检查'$ acl-> isAllowed('resource','privilege');' – P0rnflake

Laravel 5.3有一个名为Policies的功能。

通过这些,您可以创建复杂的逻辑来允许或拒绝某个请求或任何其他事情,真的是给用户。

这是Laravel官方授权用户操作的方式。

它还允许您清理您的用户模型和控制器类并重新使用代码。