Symfony Exception

RuntimeError

HTTP 500 Internal Server Error

Neither the property "0" nor one of the methods "0()", "get0()"/"is0()"/"has0()" or "__call()" exist and have public access in class "Contentful\Core\Resource\ResourceArray".

Exception

Twig\Error\ RuntimeError

  1. {% else %}
  2.     {% set title %}Art Blog{% endset %}
  3.     {% set meta_description %}Posts all around art, showcasing new illustrations, announcing events, sharing thoughts about the process.{% endset %}
  4. {% endif %}
  5. {% set meta_image = cf_asset_url(posts.0.teaserImage, 2000)|replace({'//':'https://'}) %}
  6. {% block body %}
  7.     <div class="container content-container">
  8.         <div class="row">
  9.             <div class="col">
  1.             $context["title"] = ('' === $tmp "Art Blog") ? '' : new Markup($tmp$this->env->getCharset());
  2.             // line 8
  3.             $context["meta_description"] = ('' === $tmp "Posts all around art, showcasing new illustrations, announcing events, sharing thoughts about the process.") ? '' : new Markup($tmp$this->env->getCharset());
  4.         }
  5.         // line 11
  6.         $context["meta_image"] = twig_replace_filter($this->extensions['App\Twig\AssetExtension']->getAssetUrl(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["posts"]) || array_key_exists("posts"$context) ? $context["posts"] : (function () { throw new RuntimeError('Variable "posts" does not exist.'11$this->source); })()), 0, [], "any"falsefalsefalse11), "teaserImage", [], "any"falsefalsefalse11), 2000), ["//" => "https://"]);
  7.         // line 1
  8.         $this->parent $this->loadTemplate("base.html.twig""blog/index.html.twig"1);
  9.         $this->parent->display($contextarray_merge($this->blocks$blocks));
  10.         
  11.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
in vendor/twig/twig/src/Template.php->doDisplay (line 407)
  1.     }
  2.     protected function displayWithErrorHandling(array $context, array $blocks = [])
  3.     {
  4.         try {
  5.             $this->doDisplay($context$blocks);
  6.         } catch (Error $e) {
  7.             if (!$e->getSourceContext()) {
  8.                 $e->setSourceContext($this->getSourceContext());
  9.             }
in vendor/twig/twig/src/Template.php->displayWithErrorHandling (line 380)
  1.         return $this->blocks;
  2.     }
  3.     public function display(array $context, array $blocks = [])
  4.     {
  5.         $this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks$blocks));
  6.     }
  7.     public function render(array $context)
  8.     {
  9.         $level ob_get_level();
in vendor/twig/twig/src/Template.php->display (line 392)
  1.             ob_start();
  2.         } else {
  3.             ob_start(function () { return ''; });
  4.         }
  5.         try {
  6.             $this->display($context);
  7.         } catch (\Throwable $e) {
  8.             while (ob_get_level() > $level) {
  9.                 ob_end_clean();
  10.             }
  1.      */
  2.     public function render(array $context = []): string
  3.     {
  4.         // using func_get_args() allows to not expose the blocks argument
  5.         // as it should only be used by internal code
  6.         return $this->template->render($context, \func_get_args()[1] ?? []);
  7.     }
  8.     /**
  9.      * Displays the template.
  10.      *
in vendor/twig/twig/src/Environment.php->render (line 318)
  1.      * @throws SyntaxError  When an error occurred during compilation
  2.      * @throws RuntimeError When an error occurred during rendering
  3.      */
  4.     public function render($name, array $context = [])
  5.     {
  6.         return $this->load($name)->render($context);
  7.     }
  8.     /**
  9.      * Displays a template.
  10.      *
  1.     protected function render(string $view, array $parameters = [], Response $response null): Response
  2.     {
  3.         if ($this->container->has('templating')) {
  4.             $content $this->container->get('templating')->render($view$parameters);
  5.         } elseif ($this->container->has('twig')) {
  6.             $content $this->container->get('twig')->render($view$parameters);
  7.         } else {
  8.             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".');
  9.         }
  10.         if (null === $response) {
AbstractController->render('blog/index.html.twig', array('posts' => object(ResourceArray), 'tag' => 'star wars')) in src/Controller/BlogController.php (line 40)
  1.         $posts $client->getEntries($query);
  2.         $response $this->render('blog/index.html.twig', [
  3.             'posts' => $posts,
  4.             'tag' => $tag
  5.         ]);
  6.         $response->setSharedMaxAge(60 60 12);
  7.         $response->headers->addCacheControlDirective('must-revalidate'true);
  1.         $this->dispatcher->dispatch(KernelEvents::CONTROLLER_ARGUMENTS$event);
  2.         $controller $event->getController();
  3.         $arguments $event->getArguments();
  4.         // call controller
  5.         $response $controller(...$arguments);
  6.         // view
  7.         if (!$response instanceof Response) {
  8.             $event = new GetResponseForControllerResultEvent($this$request$type$response);
  9.             $this->dispatcher->dispatch(KernelEvents::VIEW$event);
  1.     public function handle(Request $request$type HttpKernelInterface::MASTER_REQUEST$catch true)
  2.     {
  3.         $request->headers->set('X-Php-Ob-Level'ob_get_level());
  4.         try {
  5.             return $this->handleRaw($request$type);
  6.         } catch (\Exception $e) {
  7.             if ($e instanceof RequestExceptionInterface) {
  8.                 $e = new BadRequestHttpException($e->getMessage(), $e);
  9.             }
  10.             if (false === $catch) {
  1.         $this->boot();
  2.         ++$this->requestStackSize;
  3.         $this->resetServices true;
  4.         try {
  5.             return $this->getHttpKernel()->handle($request$type$catch);
  6.         } finally {
  7.             --$this->requestStackSize;
  8.         }
  9.     }
  1.         if (!IpUtils::checkIp('127.0.0.1'$trustedProxies)) {
  2.             Request::setTrustedProxies(array_merge($trustedProxies, ['127.0.0.1']), Request::getTrustedHeaderSet());
  3.         }
  4.         try {
  5.             return $kernel->handle($request$type$catch);
  6.         } finally {
  7.             // restore global state
  8.             Request::setTrustedProxies($trustedProxies$trustedHeaderSet);
  9.         }
  10.     }
  1.         if ($this->surrogate) {
  2.             $this->surrogate->addSurrogateCapability($request);
  3.         }
  4.         // always a "master" request (as the real master request can be in cache)
  5.         $response SubRequestHandler::handle($this->kernel$requestHttpKernelInterface::MASTER_REQUEST$catch);
  6.         // we don't implement the stale-if-error on Requests, which is nonetheless part of the RFC
  7.         if (null !== $entry && \in_array($response->getStatusCode(), [500502503504])) {
  8.             if (null === $age $entry->headers->getCacheControlDirective('stale-if-error')) {
  9.                 $age $this->options['stale_if_error'];
  1.     protected function forward(Request $request$raw falseResponse $entry null)
  2.     {
  3.         $this->getKernel()->boot();
  4.         $this->getKernel()->getContainer()->set('cache'$this);
  5.         return parent::forward($request$raw$entry);
  6.     }
  7.     /**
  8.      * Returns an array of options to customize the Cache configuration.
  9.      *
  1.         // avoid that the backend sends no content
  2.         $subRequest->headers->remove('if_modified_since');
  3.         $subRequest->headers->remove('if_none_match');
  4.         $response $this->forward($subRequest$catch);
  5.         if ($response->isCacheable()) {
  6.             $this->store($request$response);
  7.         }
  1.         }
  2.         if (null === $entry) {
  3.             $this->record($request'miss');
  4.             return $this->fetch($request$catch);
  5.         }
  6.         if (!$this->isFreshEnough($request$entry)) {
  7.             $this->record($request'stale');
  1.                 reload the cache by fetching a fresh response and caching it (if possible).
  2.             */
  3.             $this->record($request'reload');
  4.             $response $this->fetch($request$catch);
  5.         } else {
  6.             $response $this->lookup($request$catch);
  7.         }
  8.         $this->restoreResponseBody($request$response);
  9.         if (HttpKernelInterface::MASTER_REQUEST === $type && $this->options['debug']) {
HttpCache->handle(object(Request)) in public/index.php (line 34)
  1. if ($_ENV['CACHE'] == 'true') {
  2.     $kernel = new CacheKernel($kernel);
  3. }
  4. $request Request::createFromGlobals();
  5. $response $kernel->handle($request);
  6. $response->send();
  7. $kernel->terminate($request$response);

Logs

No log messages

Stack Trace

RuntimeError

Twig\Error\RuntimeError:
Neither the property "0" nor one of the methods "0()", "get0()"/"is0()"/"has0()" or "__call()" exist and have public access in class "Contentful\Core\Resource\ResourceArray".

  at templates/blog/index.html.twig:11
  at twig_get_attribute(object(Environment), object(Source), object(ResourceArray), 0, array(), 'any', false, false, false, 11)
     (var/cache/prod/twig/61/6151b6d8ddbcf6e3094c5a9d99d18caffdf9d4ea67afd60f51026445e164cbe0.php:65)
  at __TwigTemplate_1766a188f77425879edcc055f6ddcfeee26c64aec3e1000eaad282506932185f->doDisplay(array('posts' => object(ResourceArray), 'tag' => 'star wars', 'app' => object(AppVariable), 'text_snippets' => object(TextSnippet), 'jsonConfigs' => object(JSONConfig), 'title' => object(Markup), 'meta_description' => object(Markup)), array('body' => array(object(__TwigTemplate_1766a188f77425879edcc055f6ddcfeee26c64aec3e1000eaad282506932185f), 'block_body')))
     (vendor/twig/twig/src/Template.php:407)
  at Twig\Template->displayWithErrorHandling(array('posts' => object(ResourceArray), 'tag' => 'star wars', 'app' => object(AppVariable), 'text_snippets' => object(TextSnippet), 'jsonConfigs' => object(JSONConfig)), array('body' => array(object(__TwigTemplate_1766a188f77425879edcc055f6ddcfeee26c64aec3e1000eaad282506932185f), 'block_body')))
     (vendor/twig/twig/src/Template.php:380)
  at Twig\Template->display(array('posts' => object(ResourceArray), 'tag' => 'star wars'))
     (vendor/twig/twig/src/Template.php:392)
  at Twig\Template->render(array('posts' => object(ResourceArray), 'tag' => 'star wars'), array())
     (vendor/twig/twig/src/TemplateWrapper.php:45)
  at Twig\TemplateWrapper->render(array('posts' => object(ResourceArray), 'tag' => 'star wars'))
     (vendor/twig/twig/src/Environment.php:318)
  at Twig\Environment->render('blog/index.html.twig', array('posts' => object(ResourceArray), 'tag' => 'star wars'))
     (vendor/symfony/framework-bundle/Controller/ControllerTrait.php:229)
  at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->render('blog/index.html.twig', array('posts' => object(ResourceArray), 'tag' => 'star wars'))
     (src/Controller/BlogController.php:40)
  at App\Controller\BlogController->tag(object(Client), 'star wars')
     (vendor/symfony/http-kernel/HttpKernel.php:150)
  at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), 1)
     (vendor/symfony/http-kernel/HttpKernel.php:67)
  at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), 1, true)
     (vendor/symfony/http-kernel/Kernel.php:198)
  at Symfony\Component\HttpKernel\Kernel->handle(object(Request), 1, true)
     (vendor/symfony/http-kernel/HttpCache/SubRequestHandler.php:85)
  at Symfony\Component\HttpKernel\HttpCache\SubRequestHandler::handle(object(Kernel), object(Request), 1, true)
     (vendor/symfony/http-kernel/HttpCache/HttpCache.php:448)
  at Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(object(Request), true, null)
     (vendor/symfony/framework-bundle/HttpCache/HttpCache.php:57)
  at Symfony\Bundle\FrameworkBundle\HttpCache\HttpCache->forward(object(Request), true)
     (vendor/symfony/http-kernel/HttpCache/HttpCache.php:420)
  at Symfony\Component\HttpKernel\HttpCache\HttpCache->fetch(object(Request), true)
     (vendor/symfony/http-kernel/HttpCache/HttpCache.php:317)
  at Symfony\Component\HttpKernel\HttpCache\HttpCache->lookup(object(Request), true)
     (vendor/symfony/http-kernel/HttpCache/HttpCache.php:192)
  at Symfony\Component\HttpKernel\HttpCache\HttpCache->handle(object(Request))
     (public/index.php:34)