Code Monkey home page Code Monkey logo

contributions-symfony-rulerbundle's Introduction

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.

contributions-symfony-rulerbundle's People

Contributors

hywan avatar k-phoen avatar wakqasahmed avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

contributions-symfony-rulerbundle's Issues

Fatal error: Access to undeclared static property

Hi,

I am using this ruler bundle in my Akeneo PIM project (http://www.akeneo.com)

Since ~0.0 was not compatible with my 'akeneo pim' project, i installed the ruler using the following in composer.json:

"hoathis/symfony-ruler-bundle": "@dev"

It works fine however doctrine:migrations:diff produces the following error:

[Symfony\Component\Debug\Exception\FatalThrowableError]                      
  Fatal error: Access to undeclared static property: Hoa\Core\Consistency\Con  
  sistency::$loader 

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.