Laravel 5 — Как реализовать ограничения плана подписки? (РНР)

Допустим, у нас есть простой SAAS, который предлагает два типа планов. Например, в самом дешевом плане вы можете создать максимум 20 списков, а в следующем плане вы можете создать до 50 списков. Это только одна особенность модели ценообразования. Предполагая, что модель ценообразования основана на 4-5 различных функциях для каждого плана, что будет хорошей практикой для проверки и применения этих ограничений?

Я предполагаю, что (грязный) способ — добавить кучу ‘ifs’ в разных точках, например: if $ user-> plan-> limitReached, сделать это и т. Д.

Может быть, другой подход заключается в том, чтобы генерировать какие-то события для действий пользователя и обрабатывать проверки более «централизованно»?
Что вы думаете об этом сценарии? Мы ценим любые предложения.
Спасибо

3

Решение

Laravel 5.3 имеет функцию под названием полисы.

С их помощью вы можете создать сложную логику, чтобы разрешить или отклонить запрос или что-то еще, на самом деле, для пользователя.

Это официальный Laravel-способ авторизации действий пользователя.

Это также позволяет вам обезопасить ваши пользовательские модели и классы контроллеров и повторно использовать код.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]