Comments (4)
Hey guys. So nice to find this repo. Will use it and try to contribute too.
In this particulary case i would go with custom exceptions but can agree with you both, just be consistent with the path you pick so we dont have to deal with different behaviours.
Thank you both!
from laravel-subby.
Not really, package is consistent with getXByY
being a mimic of first()
. You suggest changing to mimic firstOrFail
. Any examples of a packages using exceptions for this cases or doc references? I'm a bit on the dark here.
from laravel-subby.
Hmmm... I don't have any other examples really. More I was looking at the behaviour of what already there is in the library. Calling $user->subscription()
we have in the HasSubscriptions.php
trait:
$subscription = $this->subscriptions()->where('tag', $subscriptionTag)->first();
if (!$subscription) {
throw new PlanSubscriptionNotFound($subscriptionTag);
}
so that's why I suggested throwing an exception as well with $subscription->getFeatureByTag('test')
.
Additionaly when I run $subscription->canUseFeature('blabla');
I get false
but it's unclear whether the blabla
feature exists at all or not. With the exception it would be clear there is no such a feature. Similarly, with $subscription->getFeatureUsage('blabla')
or $subscription->getFeatureRemainings('blabla');
.
from laravel-subby.
I've been looking in other packages what Exceptions do they return. I think it's ok to return null
and mimic first()
. We'll follow this route from now on and also keep exceptions to the bare minimum.
from laravel-subby.
Related Issues (20)
- I can not install on Laravel 9 ! HOT 3
- Documentation HOT 2
- Default database migration isn't compatible with MySQL HOT 6
- changePlan -> deleteFeaturesNotInPlan Bug HOT 1
- Free plan HOT 2
- Foreign key constraint is incorrectly formed HOT 1
- getSubscriptionRemainingUsagePriceProrate for year invoice interval HOT 2
- If user has more than one subscription, does not return total value of both subscription's feature HOT 2
- Call to a member function getKey() on array error HOT 5
- Per-Seat Billing Plans feature HOT 2
- Trait method newSubscription collision with Laravel Cashier HOT 2
- Method addMounths does not exist ---> newSubscription() HOT 1
- Bpuig \ Subby \ Exceptions\ DuplicateException HOT 2
- App\Models\User::activeSubscriptions must return a relationship instance. HOT 3
- Trial interval doesn't work when we use PlanCombination instead Plan
- SubscriptionPaymentQueuerJob now doesn't work
- Subscription feature price HOT 3
- Doubts starting using this HOT 4
- Missing PlanSubscriptionScheduleService Contract
- Change plan or/and renew plan period HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from laravel-subby.