* @final since version 3.4
*/
protected function render($view, array $parameters = [], Response $response = null)
{
if ($this->container->has('templating')) {
$content = $this->container->get('templating')->render($view, $parameters);
} elseif ($this->container->has('twig')) {
$content = $this->container->get('twig')->render($view, $parameters);
} else {
throw new \LogicException('You can not use the "render" method if the Templating Component or the Twig Bundle are not available. Try running "composer require symfony/twig-bundle".');
}
$this->dispatcher->dispatch(KernelEvents::CONTROLLER_ARGUMENTS, $event);
$controller = $event->getController();
$arguments = $event->getArguments();
// call controller
$response = \call_user_func_array($controller, $arguments);
// view
if (!$response instanceof Response) {
$event = new GetResponseForControllerResultEvent($this, $request, $type, $response);
$this->dispatcher->dispatch(KernelEvents::VIEW, $event);
public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true)
{
$request->headers->set('X-Php-Ob-Level', (string) ob_get_level());
try {
return $this->handleRaw($request, $type);
} catch (\Exception $e) {
if ($e instanceof RequestExceptionInterface) {
$e = new BadRequestHttpException($e->getMessage(), $e);
}
if (false === $catch) {
if (!IpUtils::checkIp('127.0.0.1', $trustedProxies)) {
Request::setTrustedProxies(array_merge($trustedProxies, ['127.0.0.1']), Request::getTrustedHeaderSet());
}
try {
return $kernel->handle($request, $type, $catch);
} finally {
// restore global state
Request::setTrustedProxies($trustedProxies, $trustedHeaderSet);
}
}
if ($this->surrogate) {
$this->surrogate->addSurrogateCapability($request);
}
// always a "master" request (as the real master request can be in cache)
$response = SubRequestHandler::handle($this->kernel, $request, HttpKernelInterface::MASTER_REQUEST, $catch);
/*
* Support stale-if-error given on Responses or as a config option.
* RFC 7234 summarizes in Section 4.2.4 (but also mentions with the individual
* Cache-Control directives) that
reload the cache by fetching a fresh response and caching it (if possible).
*/
$this->record($request, 'reload');
$response = $this->fetch($request, $catch);
} else {
$response = $this->lookup($request, $catch);
}
$this->restoreResponseBody($request, $response);
if (HttpKernelInterface::MASTER_REQUEST === $type && $this->options['debug']) {
// When using the HttpCache, you need to call the method in your front controller instead of relying on the configuration parameter
Request::enableHttpMethodParameterOverride();
$request = Request::createFromGlobals();
$response = $kernel->handle($request);
$response->send();
$kernel->terminate($request, $response);
No log messages
RuntimeError |
---|
Twig\Error\RuntimeError: Impossible to access an attribute ("title") on a null variable. at app/Resources/views/frontend/credit-item.html.twig:5 at twig_get_attribute(object(Environment), object(Source), null, 'title', array(), 'any', false, false, false, 5) (vendor/twig/twig/src/Environment.php(418) : eval()'d code:63) at __TwigTemplate_7b62f1e918bb874f28d283e94884a2237a08970d0d630b72ec347909b0afdd25->block_title(array('material' => null, 'type' => 'CREDIT', 'app' => object(AppVariable), 'wrapperClass' => ''), array('title' => array(object(__TwigTemplate_7b62f1e918bb874f28d283e94884a2237a08970d0d630b72ec347909b0afdd25), 'block_title'), 'keywords' => array(object(__TwigTemplate_d5d1aa4aec5507420bf807d791de6d778aea8d130ddcc1f90046c1f2236d8dba), 'block_keywords'), 'description' => array(object(__TwigTemplate_7b62f1e918bb874f28d283e94884a2237a08970d0d630b72ec347909b0afdd25), 'block_description'), 'stylesheets' => array(object(__TwigTemplate_d5d1aa4aec5507420bf807d791de6d778aea8d130ddcc1f90046c1f2236d8dba), 'block_stylesheets'), 'preContent' => array(object(__TwigTemplate_d5d1aa4aec5507420bf807d791de6d778aea8d130ddcc1f90046c1f2236d8dba), 'block_preContent'), 'mainContent' => array(object(__TwigTemplate_7b62f1e918bb874f28d283e94884a2237a08970d0d630b72ec347909b0afdd25), 'block_mainContent'), 'javascripts' => array(object(__TwigTemplate_d5d1aa4aec5507420bf807d791de6d778aea8d130ddcc1f90046c1f2236d8dba), 'block_javascripts'), 'print' => array(object(__TwigTemplate_d5d1aa4aec5507420bf807d791de6d778aea8d130ddcc1f90046c1f2236d8dba), 'block_print'))) (vendor/twig/twig/src/Template.php:182) at Twig\Template->displayBlock('title', array('material' => null, 'type' => 'CREDIT', 'app' => object(AppVariable), 'wrapperClass' => ''), array('title' => array(object(__TwigTemplate_7b62f1e918bb874f28d283e94884a2237a08970d0d630b72ec347909b0afdd25), 'block_title'), 'keywords' => array(object(__TwigTemplate_d5d1aa4aec5507420bf807d791de6d778aea8d130ddcc1f90046c1f2236d8dba), 'block_keywords'), 'description' => array(object(__TwigTemplate_7b62f1e918bb874f28d283e94884a2237a08970d0d630b72ec347909b0afdd25), 'block_description'), 'stylesheets' => array(object(__TwigTemplate_d5d1aa4aec5507420bf807d791de6d778aea8d130ddcc1f90046c1f2236d8dba), 'block_stylesheets'), 'preContent' => array(object(__TwigTemplate_d5d1aa4aec5507420bf807d791de6d778aea8d130ddcc1f90046c1f2236d8dba), 'block_preContent'), 'mainContent' => array(object(__TwigTemplate_7b62f1e918bb874f28d283e94884a2237a08970d0d630b72ec347909b0afdd25), 'block_mainContent'), 'javascripts' => array(object(__TwigTemplate_d5d1aa4aec5507420bf807d791de6d778aea8d130ddcc1f90046c1f2236d8dba), 'block_javascripts'), 'print' => array(object(__TwigTemplate_d5d1aa4aec5507420bf807d791de6d778aea8d130ddcc1f90046c1f2236d8dba), 'block_print'))) (vendor/twig/twig/src/Environment.php(418) : eval()'d code:55) at __TwigTemplate_d5d1aa4aec5507420bf807d791de6d778aea8d130ddcc1f90046c1f2236d8dba->doDisplay(array('material' => null, 'type' => 'CREDIT', 'app' => object(AppVariable), 'wrapperClass' => ''), array('title' => array(object(__TwigTemplate_7b62f1e918bb874f28d283e94884a2237a08970d0d630b72ec347909b0afdd25), 'block_title'), 'keywords' => array(object(__TwigTemplate_d5d1aa4aec5507420bf807d791de6d778aea8d130ddcc1f90046c1f2236d8dba), 'block_keywords'), 'description' => array(object(__TwigTemplate_7b62f1e918bb874f28d283e94884a2237a08970d0d630b72ec347909b0afdd25), 'block_description'), 'stylesheets' => array(object(__TwigTemplate_d5d1aa4aec5507420bf807d791de6d778aea8d130ddcc1f90046c1f2236d8dba), 'block_stylesheets'), 'preContent' => array(object(__TwigTemplate_d5d1aa4aec5507420bf807d791de6d778aea8d130ddcc1f90046c1f2236d8dba), 'block_preContent'), 'mainContent' => array(object(__TwigTemplate_7b62f1e918bb874f28d283e94884a2237a08970d0d630b72ec347909b0afdd25), 'block_mainContent'), 'javascripts' => array(object(__TwigTemplate_d5d1aa4aec5507420bf807d791de6d778aea8d130ddcc1f90046c1f2236d8dba), 'block_javascripts'), 'print' => array(object(__TwigTemplate_d5d1aa4aec5507420bf807d791de6d778aea8d130ddcc1f90046c1f2236d8dba), 'block_print'))) (vendor/twig/twig/src/Template.php:405) at Twig\Template->displayWithErrorHandling(array('material' => null, 'type' => 'CREDIT', 'app' => object(AppVariable), 'wrapperClass' => ''), array('title' => array(object(__TwigTemplate_7b62f1e918bb874f28d283e94884a2237a08970d0d630b72ec347909b0afdd25), 'block_title'), 'keywords' => array(object(__TwigTemplate_d5d1aa4aec5507420bf807d791de6d778aea8d130ddcc1f90046c1f2236d8dba), 'block_keywords'), 'description' => array(object(__TwigTemplate_7b62f1e918bb874f28d283e94884a2237a08970d0d630b72ec347909b0afdd25), 'block_description'), 'stylesheets' => array(object(__TwigTemplate_d5d1aa4aec5507420bf807d791de6d778aea8d130ddcc1f90046c1f2236d8dba), 'block_stylesheets'), 'preContent' => array(object(__TwigTemplate_d5d1aa4aec5507420bf807d791de6d778aea8d130ddcc1f90046c1f2236d8dba), 'block_preContent'), 'mainContent' => array(object(__TwigTemplate_7b62f1e918bb874f28d283e94884a2237a08970d0d630b72ec347909b0afdd25), 'block_mainContent'), 'javascripts' => array(object(__TwigTemplate_d5d1aa4aec5507420bf807d791de6d778aea8d130ddcc1f90046c1f2236d8dba), 'block_javascripts'), 'print' => array(object(__TwigTemplate_d5d1aa4aec5507420bf807d791de6d778aea8d130ddcc1f90046c1f2236d8dba), 'block_print'))) (vendor/twig/twig/src/Template.php:378) at Twig\Template->display(array('material' => null, 'type' => 'CREDIT', 'app' => object(AppVariable), 'wrapperClass' => ''), array('title' => array(object(__TwigTemplate_7b62f1e918bb874f28d283e94884a2237a08970d0d630b72ec347909b0afdd25), 'block_title'), 'description' => array(object(__TwigTemplate_7b62f1e918bb874f28d283e94884a2237a08970d0d630b72ec347909b0afdd25), 'block_description'), 'mainContent' => array(object(__TwigTemplate_7b62f1e918bb874f28d283e94884a2237a08970d0d630b72ec347909b0afdd25), 'block_mainContent'))) (vendor/twig/twig/src/Environment.php(418) : eval()'d code:50) at __TwigTemplate_7b62f1e918bb874f28d283e94884a2237a08970d0d630b72ec347909b0afdd25->doDisplay(array('material' => null, 'type' => 'CREDIT', 'app' => object(AppVariable), 'wrapperClass' => ''), array('title' => array(object(__TwigTemplate_7b62f1e918bb874f28d283e94884a2237a08970d0d630b72ec347909b0afdd25), 'block_title'), 'description' => array(object(__TwigTemplate_7b62f1e918bb874f28d283e94884a2237a08970d0d630b72ec347909b0afdd25), 'block_description'), 'mainContent' => array(object(__TwigTemplate_7b62f1e918bb874f28d283e94884a2237a08970d0d630b72ec347909b0afdd25), 'block_mainContent'))) (vendor/twig/twig/src/Template.php:405) at Twig\Template->displayWithErrorHandling(array('material' => null, 'type' => 'CREDIT', 'app' => object(AppVariable)), array('title' => array(object(__TwigTemplate_7b62f1e918bb874f28d283e94884a2237a08970d0d630b72ec347909b0afdd25), 'block_title'), 'description' => array(object(__TwigTemplate_7b62f1e918bb874f28d283e94884a2237a08970d0d630b72ec347909b0afdd25), 'block_description'), 'mainContent' => array(object(__TwigTemplate_7b62f1e918bb874f28d283e94884a2237a08970d0d630b72ec347909b0afdd25), 'block_mainContent'))) (vendor/twig/twig/src/Template.php:378) at Twig\Template->display(array('material' => null, 'type' => 'CREDIT')) (vendor/twig/twig/src/Template.php:390) at Twig\Template->render(array('material' => null, 'type' => 'CREDIT')) (vendor/symfony/symfony/src/Symfony/Bridge/Twig/TwigEngine.php:50) at Symfony\Bridge\Twig\TwigEngine->render('frontend/credit-item.html.twig', array('material' => null, 'type' => 'CREDIT')) (vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Controller/ControllerTrait.php:286) at Symfony\Bundle\FrameworkBundle\Controller\Controller->render('frontend/credit-item.html.twig', array('material' => null, 'type' => 'CREDIT')) (src/AppBundle/Controller/FrontendController.php:386) at AppBundle\Controller\FrontendController->creditAction('21') (vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php:151) at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), 1) (vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php:68) at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), 1, true) (vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php:200) at Symfony\Component\HttpKernel\Kernel->handle(object(Request), 1, true) (vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpCache/SubRequestHandler.php:102) at Symfony\Component\HttpKernel\HttpCache\SubRequestHandler::handle(object(AppKernel), object(Request), 1, true) (vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpCache/HttpCache.php:453) at Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(object(Request), true, null) (vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/HttpCache/HttpCache.php:64) at Symfony\Bundle\FrameworkBundle\HttpCache\HttpCache->forward(object(Request), true) (vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpCache/HttpCache.php:426) at Symfony\Component\HttpKernel\HttpCache\HttpCache->fetch(object(Request), true) (vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpCache/HttpCache.php:317) at Symfony\Component\HttpKernel\HttpCache\HttpCache->lookup(object(Request), true) (vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpCache/HttpCache.php:192) at Symfony\Component\HttpKernel\HttpCache\HttpCache->handle(object(Request)) (web/app.php:25) |