2016-11-28 3 views
3

Nehmen wir an, wir haben ein einfaches SAAS, das zwei Arten von Plänen anbietet. Zum Beispiel können Sie im günstigsten Plan maximal 20 Listen erstellen und im nächsten Plan können Sie bis zu 50 Listen erstellen. Dies ist nur ein Merkmal des Preismodells. Unter der Annahme, dass das Preismodell auf 4-5 verschiedenen Funktionen für jeden Plan basiert, wäre es eine gute Praxis, diese Einschränkungen zu überprüfen und durchzusetzen.Wie werden Abonnementplaneinschränkungen implementiert? (php)

Ich denke, das (unordentlich) Art und Weise eine Reihe von ‚ifs‘ in verschiedenen Punkten hinzuzufügen wäre, zum Beispiel: wenn $ user-> Plan-> LIMITREACHED, tun dies usw.

Vielleicht einem anderen Ansatz würde Eventuelle Ereignisse auf Benutzeraktionen zu werfen und die Überprüfungen auf eine "zentralisierte" Art und Weise durchzuführen? Was denken Sie über dieses Szenario? Irgendwelche Vorschläge würden geschätzt werden. Danke

+0

Im Allgemeinen codieren Sie solche Grenzwerte nicht, verwenden Sie stattdessen einen Konfigurationskatalog. Abgesehen davon: Dies ist keine Frage, die gut für den Q & A-Stil auf dieser Seite geeignet ist, da die Antworten persönliche Präferenzen enthalten würden. – arkascha

+0

Ja, ich denke, das ist nicht der beste Platz für diese Art von Frage, aber ich habe nirgendwo anders Antworten bekommen (reddit & laracasts). Vielen Dank für Ihre Antwort. – nteath

+1

Ich würde eine Art von ACL verwenden, wo Sie einfach überprüfen, $ acl-> isAllowed ('Ressource', 'Privileg'); ' – P0rnflake

Antwort

0

Laravel 5.3 eine Funktion Policies genannt hat.

Mit denen können Sie komplexe Logik erstellen zu lassen oder eine Anfrage oder etwas zu leugnen, wirklich, für den Benutzer.

Es ist der offizielle Laravel-Weg, um eine Benutzeraktion zu autorisieren.

Es ermöglicht auch Sie Ihre Benutzermodelle und Controller-Klassen und wiederverwenden Code entrümpeln.

Verwandte Themen