Download the PHP package michael-rubel/laravel-couponables without Composer

On this page you can find all versions of the php package michael-rubel/laravel-couponables. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package laravel-couponables

Laravel Couponables

Laravel Couponables

Latest Version on Packagist Tests Code Quality Code Coverage Infection Larastan

This package provides coupons/promocodes functionality for your Laravel application leveraging Eloquent's polymorphic relationships.

The package requires PHP 8.1 or higher and Laravel 10 or higher.


StandWithUkraine

SWUbanner


Installation

Install the package using composer:

Publish the migrations:

Publish the config file:


Usage

After publishing migrations, apply a trait in the model you want to use as a $redeemer:


Artisan command

You can add coupons to your database using Artisan command:

Optionally, you can pass the next arguments:

Adding coupons using model

You can as well add coupons simply using model:


Basic operations

Verify the coupon code:

Redeem the coupon:

Redeem the coupon in context of another model:

Combined redeemCoupon and for behavior (assuming the $course includes HasCoupons trait):

If something's going wrong, methods verifyCoupon and redeemCoupon will throw an exception:

If you want to bypass the exception and do something else:

Redeemer checks

Check if this coupon is already used by the model:

Check if the coupon is over the limit for the model:

Coupon checks

This method references the model assigned to redeem the coupon:

Calculations

The package supports three types of item cost calculations:

Note: you can find constants for coupon types in the CouponContract

Listeners

If you go event-driven, you can handle package events:


Extending package functionality

Traits DefinesColumns and DefinesPivotColumns contain the methods that define column names to use by the package, so you can use inheritance to override them.

If you need to override the entire classes, use the config values or container bindings. All the classes in the package have their own contract (interface), so you're free to modify it as you wish.

CouponService has the Macroable trait, This way you can inject the methods to interact with the service without overriding anything.

Contributing

If you see any ways we can improve the package, PRs are welcome. But remember to write tests for your use cases.

Testing


All versions of laravel-couponables with dependencies

PHP Build Version
Package Version
Requires php Version ^8.1
illuminate/contracts Version ^10.0|^11.0
spatie/laravel-package-tools Version ^1.13
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package michael-rubel/laravel-couponables contains the following files

Loading the files please wait ....