Download the PHP package rlaravel/plans without Composer
On this page you can find all versions of the php package rlaravel/plans. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package plans
Instalación
Composer
$ composer require rlaravel/plans
Service Provider
Agregue RLaravel\Plans\Providers\PlansServiceProvider::class
a su archivo de proveedores de servicios de aplicaciones: config/app.php
.
Config archivo y migraciones
Publique el archivo de configuración del paquete y las migraciones con el siguiente comando:
Luego ejecuta las migraciones:
Traits y Contratos
Agregue el rasgo RLaravel\Plans\Traits\PlanSubscriber
y el contrato RLaravel\Plans\Contracts\PlanSubscriberInterface
a su modelo de User
.
Vea el siguiente ejemplo:
Uso
Crear un Plan
Acceso a las características del plan
En algunos casos, necesita acceder a una función particular en un plan particular, puede lograr esto utilizando el método getFeatureByCode
disponible en el modelo Plan
.
Ejemplo:
Crear una Suscripción
Primero, recupere una instancia de su modelo de suscriptor, que normalmente será su modelo de usuario y una instancia del plan al que se está suscribiendo. Una vez que haya recuperado la instancia del modelo, puede usar el método newSubscription
(disponible en el rasgo PlanSubscriber
) para crear la suscripción del modelo.
El primer argumento pasado al método newSubscription
debe ser el nombre de la suscripción. Si su aplicación ofrece una suscripción única, puede llamar a este main
o primary
. El nombre de la suscripción no es el nombre del Plan, es un identificador de suscripción único . El segundo argumento es la instancia de plan a la que se está suscribiendo el usuario.
Resolución de suscripciones
Cuando utilice el método subscription()
(es decir, $user->subscription('main')
) en el modelo suscriptor para recuperar una subscripción, recibirá la última suscripción creada por el suscriptor y el nombre de la suscripción. Por ejemplo, si se suscribe Jane Doe a Free plan y, posteriormente, a Pro plan, el paquete devolverá la suscripción con el Pro plan porque es la suscripción más reciente disponible. Si tiene un requisito diferente, puede usar su propia resolución de suscripción vinculando una implementación de RLaravel\Plans \Contracts\SubscriptionResolverInterface
al service container
__; al igual que:
https://documentacion-laravel.com/container.html#introduction
Habilidad de la suscripción
Hay varias formas de determinar el uso y la capacidad de una característica en particular en la suscripción del usuario, la más común es canUse
:
El método canUse
devuelve true
o false
dependiendo de múltiples factores:
- La característica is enabled
- El valor de la característica no es
0
. - O la característica tiene usos restantes disponibles
Hay otras formas de determinar la capacidad de una suscripción:
enabled
: devuelvetrue
cuando el valor de la característica es una positive word listada en el archivo de configuración.consumed
: devuelve la cantidad de veces que el usuario ha usado una característica en particular.remainings
: devuelve los usos disponibles para una característica en particular.value
: devuelve el valor de la característica.
Todos los métodos comparten la misma firma: $user->subscription('main')->ability()->consumed('listings');
.
Registro de uso de funciones
Para utilizar de manera efectiva los métodos de habilidad, deberá realizar un seguimiento de cada uso de las funciones basadas en el uso. Puedes usar el método record
disponible a través del método SubscribeUsage ()
del usuario:
El método record
acepta 3 parámetros: el primero es el código de la función, el segundo es la cantidad de usos para agregar (el valor predeterminado es 1
), y el tercero indica si el uso debe incrementarse (true
: comportamiento predeterminado) o sobrescrito (false
).
Vea el siguiente ejemplo:
Reducir el uso de características
Reducir el uso de la función es casi lo mismo que aumentarla. En este caso solo restamos una cantidad dada (el valor predeterminado es 1
) para el uso real:
Borrar los datos de uso de la suscripción
En algunos casos, tendrá que borrar todos los usos en una suscripción de usuario particular, puede lograr esto utilizando el método clear
:
Verificar el estado de la suscripción
Para que una suscripción se considere active la suscripción debe tener una versión de prueba activa o la suscripción ends_at
está en el futuro.
Alternativamente, puede usar los siguientes métodos disponibles en el modelo de suscripción:
.. caution::
Suscripciones canceladas con una prueba activa o ends_at
en el futuro se consideran activas.
Renovar una suscripción
Para renovar una suscripción, puede utilizar el método renew
disponible en el modelo de suscripción. Esto establecerá una nueva fecha ends_at
basada en el plan seleccionado y borrará los datos de uso de la suscripción.
.. caution:: Las suscripciones canceladas con un período finalizado no se pueden renovar.
El evento RLaravel\Plans\Events\SubscriptionRenewed
se activa cuando una suscripción se renueva con el método renew
.
Cancelar una suscripción
Para cancelar una suscripción, simplemente use el método cancel
en la suscripción del usuario:
De forma predeterminada, la suscripción permanecerá activa hasta que finalice el período. Pase true
a immediately cancelar una suscripción.
Eventos
Los siguientes son los eventos disparados por el paquete:
RLaravel\Plans\Events\SubscriptionCreated
: Se activa cuando se crea una suscripción.RLaravel\Plans\Events\SubscriptionRenewed
: Se activa cuando una suscripción se renueva con el métodorenew()
.RLaravel\Plans\Events\SubscriptionCanceled
: Se activa cuando se cancela una suscripción utilizando el métodocancel()
.RLaravel\Plans\Events\SubscriptionPlanChanged
: Se dispara cuando se cambia el plan de suscripción; se activará una vez que se guarde el modeloPlanSubscription
. El cambio de plan se determina comparando el valor original y actual deplan_id
.