2016-11-28 83 views
3

假設我們有一個簡單的SAAS,它提供了兩種類型的計劃。例如,在最便宜的計劃中,您最多可以創建20個列表,在下一個計劃中,您可以創建多達50個列表。這只是定價模式的一個特點。假定定價模型基於每個計劃的4-5個不同特徵,那麼檢查和執行這些限制的最佳做法是什麼?如何實施訂閱計劃限制? (php)

我猜的(凌亂)的方式是添加了一堆的不同點「IFS」,例如:如果$用戶>計劃 - > limitReached,這樣做等

也許另一種方法是是要在用戶操作上拋出某種事件,並以更集中的方式處理檢查? 對這種情況你有什麼想法?任何建議,將不勝感激。 謝謝

+0

一般不要編寫這樣的限制,而是使用配置目錄。除此之外:這不是一個適合本網站使用的問答風格的問題,因爲答案可以保存個人喜好。 – arkascha

+0

是的,我猜這不是最合適的地方這種問題,但我沒有得到任何答案在其他地方(reddit和laracasts)。儘管謝謝你的回覆。 – nteath

+1

我會使用某種ACL,只需檢查'$ acl-> isAllowed('resource','privilege');' – P0rnflake

回答

0

Laravel 5.3有一個名爲Policies的功能。

通過這些,您可以創建複雜的邏輯來允許或拒絕某個請求或任何其他事情,真的是給用戶。

這是Laravel官方授權用戶操作的方式。

它還允許您清理您的用戶模型和控制器類並重新使用代碼。