1. Go to this page and download the library: Download playox/feature-tox library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
playox / feature-tox example snippets
// MyClass.php
class MyClass
{
public function doSomething()
{
// The activator decide if the feature is active or not
// You can use your own activator if you implement the interface
$activator = new ArrayActivator();
$manager = new FeatureManager($activator);
if ($manager->isActive('your_feature_name')) {
// do something
}
}
}
// MyClass.php
class MyClass
{
public function doSomething()
{
$activator = new ArrayActivator([
'feature_abc',
'feature_def',
'feature_ghi'
]);
$manager = new FeatureManager($activator);
// Will return true
if ($manager->isActive('feature_def')) {
// do something
}
// Will return false
if ($manager->isActive('feature_wxy')) {
// do something
}
}
}
// MyClass.php
class MyClass
{
public function doSomething(User $user)
{
$activator = new YourCustomDoctrineActivator();
$manager = new FeatureManager($activator);
$context = new Context();
$context->add('user_id', $user->getId());
// Check the feature with context
if ($manager->isActive('feature_def', $context)) {
// do something
}
// Check the feature without context (result may differ from above)
if ($manager->isActive('feature_def')) {
// do something
}
}
}
// YourCustomDoctrineActivator.php
class YourCustomDoctrineActivator implements FeatureActivatorInterface
{
public function isActive($name, Context $context)
{
return $context->get('user_id') === 12;
}
}
// MyClass.php
class MyClass
{
public function doSomething(User $user)
{
$activator = new YourCustomDoctrineActivator();
$decorator = new ArrayDecorator([
'user_id' => $user->getId()
]);
$manager = new FeatureManager($activator, $decorator);
// Check the feature with the global defined context
if ($manager->isActive('feature_def')) {
// do something
}
}
}
//YourCustomDoctrineActivator.php
class YourCustomDoctrineActivator implements FeatureActivatorInterface
{
public function isActive($name, Context $context)
{
return $context->get('user_id') === 12;
}
}
// MyClass.php
class MyClass
{
public function doSomething(User $user)
{
$activator = new YourCustomDoctrineActivator();
$decorator = new ArrayDecorator([
'user_id' => $user->getId()
]);
$manager = new FeatureManager($activator, $decorator);
$context = new Context();
$context->add('user_name', $user->getUsername());
// Check the feature with the global defined context
if ($manager->isActive('feature_def', $context)) {
// do something
}
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.