Download the PHP package gremo/subscription-bundle without Composer
On this page you can find all versions of the php package gremo/subscription-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download gremo/subscription-bundle
More information about gremo/subscription-bundle
Files in gremo/subscription-bundle
Package subscription-bundle
Short Description Symfony2 Bundle for managing subscriptions.
License MIT
Informations about the package subscription-bundle
GremoSubscriptionBundle
Symfony2 Bundle for managing subscriptions.
Installation
Add the following to your deps
file (for Symfony 2.0.*):
Then register the namespaces with the autoloader (app/autoload.php
):
Or, if you are using Composer and Symfony 2.1.*, add to composer.json
file:
Finally register the bundle with your kernel in app/appKernel.php
:
Configuration
Bundle configuration is simple: you first need to specify an interval for the subscription periods. Use the format of
\DateInterval
interval specification. For example, P30D
, that
is 30 days. Interval should be, at least, one day long.
Then implement Gremo\SubscriptionBundle\Provider\ActivationDateProviderInterface
, in order to provide an activation date.
Make this class a service and set its name as the activation_provider
in the configuration:
Activation date provider example
An example activation date provider, where activation date is the current logged user creation date:
Usage
You can access the subscription service using the service container, for example in your controller code:
Say that today is 2012-12-12, interval is 30 days and activation date is 2012-09-01. Periods will be:
- From 2012-09-01 to 2012-09-30 inclusive, the first period
- From 2012-10-01 to 2012-10-30 inclusive
- From 2012-10-31 to 2012-11-29 inclusive
- From 2012-11-30 to 2012-12-29 inclusive, that is the current period
Access the current period from subscription:
Class BaseSubscription
implements Countable
, ArrayAccess
, Iterator
PHP interfaces, so you can easly count, access
and loop over each period. BaseSubscriptionPeriod
inherits from PHP DatePeriod
object, allowing to loop over each
day of the period:
All versions of subscription-bundle with dependencies
symfony/dependency-injection Version >=2.0.0,<2.3-dev
symfony/http-kernel Version >=2.0.0,<2.3-dev
symfony/config Version >=2.0.0,<2.3-dev