shapecode / subscription-bundle
Symfony Bundle for manage user subscriptions
Installs: 17
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 3
Open Issues: 0
Type:symfony-bundle
Requires
- php: >=7.0.0
- symfony/console: ^3.3|^4
- symfony/event-dispatcher: ^3.3|^4
- symfony/framework-bundle: ^3.3|^4
- symfony/monolog-bundle: ^3.1
- symfony/security: ^3.3|^4
- symfony/yaml: ^3.3|^4
Requires (Dev)
- mockery/mockery: ^0.9.9
- phpunit/phpunit: ^6.2
This package is not auto-updated.
Last update: 2020-09-11 10:14:35 UTC
README
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
-
Strategies
-
CookBooks/Examples:
- Symfony 4 example sandbox with doctrine
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