generateAction()
generateAction(\Symfony\Component\HttpFoundation\Request $request, $text, $extension)
Parameters
\Symfony\Component\HttpFoundation\Request | $request | |
$text | ||
$extension |
QR code controller.
getQrCodeFactory() : \Endroid\QrCode\Factory\QrCodeFactory
Returns the QR code factory.
<?php
/*
* (c) Jeroen van den Enden <info@endroid.nl>
*
* This source file is subject to the MIT license that is bundled
* with this source code in the file LICENSE.
*/
namespace Endroid\QrCode\Bundle\Controller;
use Endroid\QrCode\Factory\QrCodeFactory;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Request;
/**
* QR code controller.
*/
class QrCodeController extends Controller
{
/**
* @Route("/{text}.{extension}", name="endroid_qrcode", requirements={"text"="[\w\W]+", "extension"="jpg|png|gif"})
*/
public function generateAction(Request $request, $text, $extension)
{
$options = $request->query->all();
$qrCode = $this->getQrCodeFactory()->createQrCode($options);
$qrCode->setText($text);
$mime_type = 'image/'.$extension;
if ($extension == 'jpg') {
$mime_type = 'image/jpeg';
}
return new Response($qrCode->get($extension), 200, ['Content-Type' => $mime_type]);
}
/**
* Returns the QR code factory.
*
* @return QrCodeFactory
*/
protected function getQrCodeFactory()
{
return $this->get('endroid.qrcode.factory');
}
}