Допустим, у нас есть простой SAAS, который предлагает два типа планов. Например, в самом дешевом плане вы можете создать максимум 20 списков, а в следующем плане вы можете создать до 50 списков. Это только одна особенность модели ценообразования. Предполагая, что модель ценообразования основана на 4-5 различных функциях для каждого плана, что будет хорошей практикой для проверки и применения этих ограничений?
Я предполагаю, что (грязный) способ — добавить кучу ‘ifs’ в разных точках, например: if $ user-> plan-> limitReached, сделать это и т. Д.
Может быть, другой подход заключается в том, чтобы генерировать какие-то события для действий пользователя и обрабатывать проверки более «централизованно»?
Что вы думаете об этом сценарии? Мы ценим любые предложения.
Спасибо
Laravel 5.3 имеет функцию под названием полисы.
С их помощью вы можете создать сложную логику, чтобы разрешить или отклонить запрос или что-то еще, на самом деле, для пользователя.
Это официальный Laravel-способ авторизации действий пользователя.
Это также позволяет вам обезопасить ваши пользовательские модели и классы контроллеров и повторно использовать код.
Других решений пока нет …