Download the PHP package super-pharm/laravel-promocodes2 without Composer
On this page you can find all versions of the php package super-pharm/laravel-promocodes2. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download super-pharm/laravel-promocodes2
More information about super-pharm/laravel-promocodes2
Files in super-pharm/laravel-promocodes2
Package laravel-promocodes2
Short Description :package_description
License MIT
Homepage https://github.com/Super-Pharm/laravel-promocodes2
Informations about the package laravel-promocodes2
This is a fork of laravel-promocodes with some fixes and improvements
Coupons and promotional codes generator for Laravel. Current release is only for Laravel 10.x and PHP 8.1. It's completely rewritten, and if you are using previous version, you should change your code accordingly. Code is simplified now and it should take you several minutes to completely rewrite usage.
Attention: Current version is completely rewritten. If you are missing some functionality, that was possible to achieve in previous versions, fill free to open issue. Hope this new version will be easier to use, and it will provide better functionality for your needs.
Installation
You can install the package via composer:
Configuration
Now you can change configurations as you need:
After you configure this file, run migrations:
Now you will need to use AppliesPromocode on your user model.
Usage
It's very easy to use. Methods are combined, so that you can configure promocodes easily.
- Reference
- Creating Promocodes
- Generating Promocodes
- Applying Promocode
- Expiring Promocode
- Additional Methods
Reference
Name | Explanation |
---|---|
Mask | Astrisks will be replaced with random symbol |
Characters | Allowed symbols to use in mask replacement |
Multi use | Define if single code can be used multiple times, by the same user |
Unlimited | Generated code will have unlimited usages |
Bound to user | Define if promocode can be used only one user, if user is not assigned initially, first user will be bound to promocode |
Issued for user | Define the user that the promocode was issued for |
User | Define user who will be initially bound to promocode |
Count | Amount of unique promocodes should be generated |
Usages | Define how many times can promocode be used |
Expiration | DateTime when promocode should be expired. Null means that promocode will never expire |
Details | Array of details which will be retrieved upon apply |
Creating Promocodes
Using class
Combine methods as you need. You can skip any method that you don't need, most of them already have default values.
Using helper
There is a global helper function which will do the same as promocodes class. You can use named arguments magic from php 8.1.
Using command
There is also the command for creating promocodes. Parameters are optional here too.
Generating Promocodes
If you want to output promocodes and not save them to database, you can call generate method instead of create.
Applying Promocode
Using class
Combine methods as you need. You can skip any method that you don't need.
Using helper
There is a global helper function which will do the same as promocodes class.
Using command
There is also the command for applying promocode.
Exceptions
While trying to apply promocode, you should be aware of exceptions. Most part of the code throws exceptions, when there is a problem:
Events
There are two events which are fired upon applying.
Expiring Promocode
Using helper
There is a global helper function which will expire promocode.
Using command
There is also the command for expiring promocode.
Trait Methods
If you added AppliesPromocode trait to your user model, you will have some additional methods on user.
Additional Methods
Testing
Contributing
Please see CONTRIBUTING for details.
Credits
License
The MIT License (MIT). Please see License File for more information.
All versions of laravel-promocodes2 with dependencies
illuminate/support Version ^9.0|^10.0
illuminate/console Version ^9.0|^10.0
illuminate/database Version ^9.0|^10.0
illuminate/broadcasting Version ^9.0|^10.0
illuminate/queue Version ^9.0|^10.0
illuminate/container Version ^9.0|^10.0