/**
  * This is just an example howto use barcodes and to display them
  * @param Request $request
  * @return Response
  */
 public function playgroundAction(Request $request)
 {
     $types = BarcodeTypes::getTypes();
     $errors = array();
     $form = $this->container->get('form.factory')->createBuilder('form')->add('text')->add('type', 'choice', array('empty_value' => 'Choose an option', 'choices' => $types))->getForm();
     $webfile = false;
     if ($request->getMethod() == 'POST') {
         $form->submit($request);
         $data = $form->getData();
         $text = $data['text'];
         $type = $data['type'];
         if ($type) {
             try {
                 $bmanager = $this->container->get('mopa_barcode.barcode_service');
                 $webfile = $bmanager->get($type, $text);
             } catch (\Exception $e) {
                 $errors[] = $e->getMessage();
             }
         } else {
             $errors[] = "Please select a option";
         }
         if (count($errors)) {
             $webfile = false;
         }
     }
     return $this->container->get('templating')->renderResponse('MopaBarcodeBundle:Barcode:playground.html.twig', array('form' => $form->createView(), 'barcode_url' => $webfile, 'errors' => $errors));
 }
 /**
  * @param ImagineInterface $imagine
  * @param $kernelcachedir
  * @param $kernelrootdir
  * @param $webdir
  * @param $webroot
  * @param Logger $logger
  */
 public function __construct(ImagineInterface $imagine, $kernelcachedir, $kernelrootdir, $webdir, $webroot, Logger $logger)
 {
     $this->types = BarcodeTypes::getTypes();
     $this->imagine = $imagine;
     $this->kernelcachedir = $kernelcachedir;
     $this->kernelrootdir = $kernelrootdir;
     $this->webdir = $webdir;
     $this->webroot = $webroot;
     $this->logger = $logger;
 }