2016-11-28 7 views
3

2つのタイプのプランを提供する簡単なSAASがあるとします。たとえば、最も安いプランでは最大20個のリストを作成でき、次のプランでは最大50個のリストを作成できます。これは価格モデルの1つの機能に過ぎません。価格設定モデルが各プランの4つの異なる機能に基づいていると仮定した場合、これらの制約をチェックして強制するのはどのような方法でしょうか?サブスクリプションプランの制限を実装する方法は? (php)

私は推測する、(汚い)の方法は、例えば、異なる点で「IFS社の束を追加することです:

にあればする$ user->計画 - > limitReached、これを行うなどたぶん、別のアプローチを希望ユーザーの行動に関する何らかのイベントを投げ、より集中的な方法でチェックを処理することができますか? このシナリオに関するあなたの考えは?任意の提案をいただければ幸いです。 ありがとうございます

+0

一般に、このような制限をコード化しないで、代わりに構成カタログを使用してください。それとは別に、これは答えが個人の好みを保持するため、このサイトで使用されているQ&Aスタイルに適した質問ではありません。 – arkascha

+0

ええ、これはこの種の質問に最も適した場所ではないと思いますが、私は他の場所で回答を得られませんでした(redditとlaracast)。しかし、あなたの応答をありがとう。 – nteath

+1

'$ acl-> isAllowed( 'resource'、 'privilege');をチェックするだけのACLを使用します; – P0rnflake

答えて

0

Laravel 5.3にはPoliciesという機能があります。

これらを使用すると、複雑なロジックを作成して、実際にリクエストや何かを許可または拒否することができます。

これは、ユーザーの操作を承認するための正式なラーベル方法です。

また、ユーザーモデルとコントローラクラスを宣言してコードを再利用することもできます。

関連する問題