Skip to content
The Hoa\Ruler Symfony2 bundle.
PHP HTML
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
DataCollector
DependencyInjection
Resources
Ruler
.gitattributes
CHANGELOG.md
HoathisSymfonyRulerBundle.php
LICENSE
README.md
composer.json

README.md

Hoa

Hoa is a modular, extensible and structured set of PHP libraries. Moreover, Hoa aims at being a bridge between industrial and research worlds.

Hoathis\SymfonyRulerBundle

Integrates Hoa\Ruler in Symfony.

Installation

With Composer, to include this bundle into your dependencies, you need to require hoathis/symfony-ruler-bundle:

{
    "require": {
        "hoathis/symfony-ruler-bundle": "~0.0"
    }
}

And add RulerBundle to your AppKernel:

// app/AppKernel.php

class AppKernel extends Kernel
{
    //

    public function registerBundles()
    {
        $bundles = array(
            //
            new Hoathis\SymfonyRulerBundle\HoathisSymfonyRulerBundle(),
        );

        //
    }
}

Quick usage

Ruler service

The RulerBundle defines a hoathis.ruler service that can be used as described in Hoa\Ruler's documentation.

public function indexAction(Request $request)
{
    // 1. Write a rule.
    $ruler = $this->get('hoathis.ruler');
    $rule  = 'group in ["customer", "guest"] and points > 30';

    // 2. Create a context.
    $context           = $ruler->getNewContext();
    $context['group']  = 'customer';
    $context['points'] = function () {
        return 42;
    };

    // 3. Assert!
    var_dump(
        $ruler->assert($rule, $context) // bool(true)
    );
}

Profiler

When the debug mode is enabled, all assertions are logged and displayed in the web profiler:

profiler toolbar profiler panel

Configuration reference

hoathis_symfony_ruler:
    debug:  %kernel.debug%

License

Hoa is under the New BSD License (BSD-3-Clause). Please, see LICENSE.

You can’t perform that action at this time.