Yii 2.0 Extension for Zumba Swivel
This plugin provides the necessary elements for using Swivel in a Yii 2.0+ Application., (*1)
This plugin is based on the zumba/swivel-cake plugin., (*2)
Configuration for Yii Component:
'swivel' => [
'class'=>'dhluther\swivel\SwivelComponent'
],
Access from the application
// If the user has the feature behavior bucket enabled, use the testFeature.New.Something behavior,
// else use the default
Yii::$app->swivel->forFeature( 'testFeature' )
->addBehavior('New.Something', [$this,'doSomethingB'], $args)
->defaultBehavior([$this, 'doSomethingA'], $args )
->execute();
// If the user has the feature behavior bucket enabled, use the first callable,
// else use the second callable (default)
Yii::$app->swivel->invoke('testFeature.New.Something', [$this,'doSomethingB'],[$this, 'doSomethingA']);
Make sure that your bootstrap file is set to properly include the composer autoloader., (*3)
In the index.php bootstrap:, (*4)
require(__DIR__ . '/../vendor/autoload.php');
Add the swivel migration namespace to your migration command config
'migrationNamespaces'=>[
'dhluther\\swivel\\migrations'
]
with the alias of:, (*5)
'@dhluther\swivel'=>'@vendor/dhluther/yii2-swivel/src'
If you've already migrated this package in the past and want to mark it to the current migratoin via namespace, the command is, (*6)
./yii migrate/mark dhluther\\swivel\\migrations\\m190812_083802
To add the composer vendor libraries for local development:
docker run --rm -v $PWD:/app composer update
Note about PHP 8.2 Compatibility and Testing
As of this date, Yii 2.0 is not yet officially supporting PHP 8.2
To install the codeception/yii2-module you must force the composer update with --ignore-platform-req=php
, (*7)
The Swivel Libraries
https://github.com/zumba/swivel, (*8)
https://github.com/zumba/swivel-cake, (*9)