<?php

namespace Bazinga\Bundle\HateoasBundle\ExpressionLanguage;

use Symfony\Component\ExpressionLanguage\ExpressionLanguage as BaseExpressionLanguage;

/**
 * Adds some function to the default ExpressionLanguage.
 *
 * To get a service, use service('request').
 * To get a parameter, use parameter('kernel.debug').
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class ExpressionLanguage extends BaseExpressionLanguage
{
    protected function registerFunctions()
    {
        parent::registerFunctions();

        $this->register('service', function ($arg) {
            return sprintf('$this->get(%s)', $arg);
        }, function (array $variables, $value) {
            return $variables['container']->get($value);
        });

        $this->register('parameter', function ($arg{
    "name": "willdurand/hateoas-bundle",
    "description": "Integration of Hateoas into Symfony2.",
    "keywords": [ "rest", "hateoas" ],
    "type": "symfony-bundle",
    "license": "MIT",
    "authors": [
        {
        "name": "William Durand",
        "email": "william.durand1@gmail.com"
    }
    ],
    "require": {
        "symfony/framework-bundle": "~2.2",
        "willdurand/hateoas": "~2.0",
        "jms/serializer-bundle": "~0.13"
    },
    "require-dev": {
        "symfony/expression-language": "~2.4",
        "twig/twig": "~1.12"
    },
    "autoload": {
        "psr-0": { "Bazinga\\Bundle\\HateoasBundle": "" }
    },
    "target-dir": "Bazinga/Bundle/HateoasBundle",
    "extra": {
        "branch-alias": {
            "dev-master": "1.0.x-dev"
        }
    }
}
