shapecode/subscription-bundle

This package is abandoned and no longer maintained. No replacement package was suggested.

Symfony Bundle for manage user subscriptions

0.2.0 2018-03-27 22:49 UTC

This package is not auto-updated.

Last update: 2020-09-11 10:14:35 UTC


README

paypal

PHP Version Latest Stable Version Latest Unstable Version Total Downloads Monthly Downloads Daily Downloads License

SubscriptionBundle helps you to create and manage subscriptions services (also known as plans) for your users in your application.

The SubscriptionBundle fits perfectly in your Symfony application and your models. It don't cares about what persistence layer are you using (a http://www.doctrine-orm.org, http://www.redis.io...); it only provides an easy and solid base where start to handle this type of products in your Symfony applications.

Features

  • Trying to maintain a easy, solid, well-documented and agnostic base to start to work without headaches.
  • Many actions allowed on to subscriptions: active, expire, disable and renew with his appropriate events.
  • Extensible: you can extend and change the out-of-the-box features creating your own strategies that determine how a subscription should be handled to fit to your requirements.

Compatible

  • Symfony 3.3+/4+ applications with Doctrine

Documentation

Quick start

1. Download the bundle:

$ composer require shapecode/subscription-bundle

2. Enable the bundle in Symfony Application (only Symfony 3):

<?php
// app/AppKernel.php

// ...
class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = array(
            // ...
            new Shapecode\SubscriptionBundle\ShapecodeSubscriptionBundle(),
        );
    }

    // ...
}

3. Configure the bundle:

shapecode_subscription:
    # Where is the subscription model located in your application
    # Remember that your model must implement the interface
    subscription_class: AppBundle\Entity\Subscription # Interface: Shapecode\SubscriptionBundle\Model\SubscriptionInterface

    # Repository services name
    # Remember that repositories must be implement the interfaces
    subscription_repository: app.repository.subscription # Interface: Shapecode\SubscriptionBundle\Repository\SubscriptionRepositoryInterface
    product_repository: app.repository.product           # Interface: Shapecode\SubscriptionBundle\Repository\ProductRepositoryInterface

Read the complete configuration reference for more configuration options or tweaks.

License

This software is published under the MIT License

Contributing

I will be very happy if you want to contribute fixing some issue, providing new strategies or whatever you want. Thanks!

Info

Porject forked from terox/SubscriptionBundle