In your controller, you can access the special global “_locale” variable from the Request object:

$request = $this->get('request');

$locale= $request->getLocale();

 


In Symfony, cookies are stored in the app.request object. Here’s how you access them in Twig:

{% app.request.cookies %}


To see if a cookie is set, use the if statement inside Twig:

{% if app.request.cookies.has('yourCookie') %}
  Cookie 'yourCookie' has been set.  {{ app.request.cookies.get('yourCookie') }} 
{% endif %}

In Symfony, you can set the parameter “invalid_message” in your form types.

For example:

class FooShortlistChoiceType extends AbstractType {
    protected $em;

    public function __construct(EntityManager $entityManager)
    {
        $this->em  = $entityManager;
    }

    public function buildForm(FormBuilderInterface $builder, array $options) {
        $fooTransformer = new FooToStringTransformer($this->em);
        
        $builder
            ->add('yourField', 'text', array('invalid_message' => 'Invalid message pertaining to this form field here.'))
            ->get('yourField')->addModelTransformer($fooTransformer);
        
    }

    public function getParent() {
        return 'choice';
    }

    public function getName() {
        return 'fooShortlist';
    }
}


For more about Data Transformers and what they’re used for, visit the Symfony Cookbook:  http://symfony.com/doc/current/cookbook/form/data_transformers.html