Exceptions
Exception
Twig\Error\ RuntimeError
Show exception properties
Twig\Error\RuntimeError {#952 -lineno: 26 -rawMessage: "Impossible to invoke a method ("remove") on a sequence/mapping." -source: Twig\Source {#808 -code: """ {% extends 'base.html.twig' %}\n \n {% block title %}{{ title }}{% endblock %}\n {% block meta %}\n <meta name="description" content="{{ description|default('Découvrez tous les événements en Bretagne.') }}">\n <meta name="author" content="Sortir en Bretagne">\n <link rel="canonical" href="{{ canonical_url }}">\n {% endblock %}\n \n {% block body %}\n <section>\n <h1 class="mb-4">{{ header1 }}</h1>\n <h2 class="mb-3">{{ header2 }}</h2>\n {% if filterRange %}\n <div class="btn-group" role="group" aria-label="Plage de dates">\n {# Map des ranges -> libellés (adapté à ton DateRange) #}\n {% set ranges = {\n 'aujourdhui': "Aujourd'hui",\n 'demain': 'Demain',\n 'ce-week-end': 'Ce week-end'\n } %}\n \n {% for r, label in ranges %}\n {# On repart de tous les params actuels, on force juste range, et on supprime page #}\n {% set params = routeParams|merge({'range': r}) %}\n {% do params.remove('page') %}\n \n <a\n href="{{ path(routeName, params) }}"\n class="btn {% if app.request.attributes.get('range') == r %}btn-primary{% else %}btn-outline-primary{% endif %}">\n {{ label }}\n </a>\n {% endfor %}\n </div>\n {% endif %}\n \n <nav class="nav nav-pills flex-column flex-sm-row">\n {% for item in nav %}\n <a class="flex-sm-fill text-sm-center nav-link border rounded {% if item.active %}active{% endif %}" href="{{ item.url }}">\n {{ item.name }}\n </a>\n {% endfor %}\n </nav>\n <div class="row" data-bs-theme="dark">\n {% include 'map/_display_map.html.twig' %}\n \n {% for event in events %}\n {{ render(path('_app_event_card', {'id': event.id})) }}\n {% else %}\n <p>Aucun événement trouvé.</p>\n {% endfor %}\n </div>\n </section>\n <section>\n {# ... affichage des résultats ... #}\n \n {% include 'partials/_pagination.html.twig' with {\n currentPage: page,\n totalPages: total,\n routeName: routeName,\n routeParams: routeParams\n } %}\n </section>\n {% endblock %}\n """ -name: "map/index.html.twig" -path: "/var/www/vhosts/sortir-en-bretagne.fr/preprod.sortir-en-bretagne.fr/templates/map/index.html.twig" } -phpFile: "/var/www/vhosts/sortir-en-bretagne.fr/preprod.sortir-en-bretagne.fr/vendor/twig/twig/src/Extension/CoreExtension.php" -phpLine: 1762 }
in
templates/map/index.html.twig
(line 26)
} %}
{% for r, label in ranges %}
{# On repart de tous les params actuels, on force juste range, et on supprime page #}
{% set params = routeParams|merge({'range': r}) %}
{% do params.remove('page') %}
<a
href="{{ path(routeName, params) }}"
class="btn {% if app.request.attributes.get('range') == r %}btn-primary{% else %}btn-outline-primary{% endif %}">
{{ label }}
in
var/cache/dev/twig/12/125a3dc96aa3307f1c954155233bc9a5.php
::
getAttribute
(line 165)
// line 25
yield " ";
$context["params"] = Twig\Extension\CoreExtension::merge((isset($context["routeParams"]) || array_key_exists("routeParams", $context) ? $context["routeParams"] : (function () { throw new RuntimeError('Variable "routeParams" does not exist.', 25, $this->source); })()), ["range" => $context["r"]]);
// line 26
yield " ";
CoreExtension::getAttribute($this->env, $this->source, (isset($context["params"]) || array_key_exists("params", $context) ? $context["params"] : (function () { throw new RuntimeError('Variable "params" does not exist.', 26, $this->source); })()), "remove", ["page"], "method", false, false, false, 26);
// line 27
yield "
<a
href=\"";
// line 29
in
vendor/twig/twig/src/Template.php
->
block_body
(line 446)
throw new \LogicException('A block must be a method on a \Twig\Template instance.');
}
if (null !== $template) {
try {
yield from $template->$block($context, $blocks);
} catch (Error $e) {
if (!$e->getSourceContext()) {
$e->setSourceContext($template->getSourceContext());
}
in
var/cache/dev/twig/54/54642db8b37e4e05d8009844a68fd04c.php
->
yieldBlock
(line 323)
</div>
</section>
";
// line 169
yield from $this->unwrap()->yieldBlock('body', $context, $blocks);
// line 170
yield "</main>
<div class=\"card my-5 border-none text-center\">
<div class=\"card-body\">
<h2 class=\"card-title text-primary\">
in
vendor/twig/twig/src/Template.php
->
doDisplay
(line 402)
{
$context += $this->env->getGlobals();
$blocks = array_merge($this->blocks, $blocks);
try {
yield from $this->doDisplay($context, $blocks);
} catch (Error $e) {
if (!$e->getSourceContext()) {
$e->setSourceContext($this->getSourceContext());
}
in
var/cache/dev/twig/12/125a3dc96aa3307f1c954155233bc9a5.php
->
yield
(line 55)
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "map/index.html.twig"));
$this->parent = $this->load("base.html.twig", 1);
yield from $this->parent->unwrap()->yield($context, array_merge($this->blocks, $blocks));
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
in
vendor/twig/twig/src/Template.php
->
doDisplay
(line 402)
{
$context += $this->env->getGlobals();
$blocks = array_merge($this->blocks, $blocks);
try {
yield from $this->doDisplay($context, $blocks);
} catch (Error $e) {
if (!$e->getSourceContext()) {
$e->setSourceContext($this->getSourceContext());
}
in
vendor/twig/twig/src/Template.php
->
yield
(line 358)
return $this->blocks;
}
public function display(array $context, array $blocks = []): void
{
foreach ($this->yield($context, $blocks) as $data) {
echo $data;
}
}
public function render(array $context): string
in
vendor/twig/twig/src/Template.php
->
display
(line 373)
ob_start();
} else {
ob_start(function () { return ''; });
}
try {
$this->display($context);
} catch (\Throwable $e) {
while (ob_get_level() > $level) {
ob_end_clean();
}
in
vendor/twig/twig/src/TemplateWrapper.php
->
render
(line 51)
yield from $this->template->yieldBlock($name, $context);
}
public function render(array $context = []): string
{
return $this->template->render($context);
}
/**
* @return void
*/
in
vendor/twig/twig/src/Environment.php
->
render
(line 333)
* @throws SyntaxError When an error occurred during compilation
* @throws RuntimeError When an error occurred during rendering
*/
public function render($name, array $context = []): string
{
return $this->load($name)->render($context);
}
/**
* Displays a template.
*
in
vendor/symfony/framework-bundle/Controller/AbstractController.php
->
render
(line 459)
if (null !== $block) {
return $this->container->get('twig')->load($view)->renderBlock($block, $parameters);
}
return $this->container->get('twig')->render($view, $parameters);
}
private function doRender(string $view, ?string $block, array $parameters, ?Response $response, string $method): Response
{
$content = $this->doRenderView($view, $block, $parameters, $method);
in
vendor/symfony/framework-bundle/Controller/AbstractController.php
->
doRenderView
(line 464)
return $this->container->get('twig')->render($view, $parameters);
}
private function doRender(string $view, ?string $block, array $parameters, ?Response $response, string $method): Response
{
$content = $this->doRenderView($view, $block, $parameters, $method);
$response ??= new Response();
if (200 === $response->getStatusCode()) {
foreach ($parameters as $v) {
if ($v instanceof FormInterface && $v->isSubmitted() && !$v->isValid()) {
in
vendor/symfony/framework-bundle/Controller/AbstractController.php
->
doRender
(line 278)
* If an invalid form is found in the list of parameters, a 422 status code is returned.
* Forms found in parameters are auto-cast to form views.
*/
protected function render(string $view, array $parameters = [], ?Response $response = null): Response
{
return $this->doRender($view, null, $parameters, $response, __FUNCTION__);
}
/**
* Renders a block in a view.
*
$title = "[Carte] Les sorties {$rangeDate} autour de moi {$depName['name']} (".date('Y').")";
$description = "Concerts, spectacles, marchés, feux d’artifice… Découvrez toutes les idées sorties {$rangeDate} en {$depName['name']} grâce à notre carte interactive.";
$header1 = "Carte des sorties {$depName['name']}";
$header2 = "Retrouvez {$total} événements à ne pas manquer autour de moi {$rangeDate} {$depName['name']} : agenda complet et géolocalisé.";
return $this->render('map/index.html.twig', [
'title' => $title,
'description' => $description,
'canonical_url' => $canonical_url,
'header1' => $header1,
'header2' => $header2,
in
vendor/symfony/http-kernel/HttpKernel.php
->
eventRangeMap
(line 183)
$this->dispatcher->dispatch($event, KernelEvents::CONTROLLER_ARGUMENTS);
$controller = $event->getController();
$arguments = $event->getArguments();
// call controller
$response = $controller(...$arguments);
// view
if (!$response instanceof Response) {
$event = new ViewEvent($this, $request, $type, $response, $event);
$this->dispatcher->dispatch($event, KernelEvents::VIEW);
in
vendor/symfony/http-kernel/HttpKernel.php
->
handleRaw
(line 76)
$request->headers->set('X-Php-Ob-Level', (string) ob_get_level());
$this->requestStack->push($request);
$response = null;
try {
return $response = $this->handleRaw($request, $type);
} catch (\Throwable $e) {
if ($e instanceof \Error && !$this->handleAllThrowables) {
throw $e;
}
in
vendor/symfony/http-kernel/Kernel.php
->
handle
(line 182)
$this->boot();
++$this->requestStackSize;
$this->resetServices = true;
try {
return $this->getHttpKernel()->handle($request, $type, $catch);
} finally {
--$this->requestStackSize;
}
}
in
vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php
->
handle
(line 35)
) {
}
public function run(): int
{
$response = $this->kernel->handle($this->request);
if (Kernel::VERSION_ID >= 60400) {
$response->send(false);
if (\function_exists('fastcgi_finish_request') && !$this->debug) {
in
vendor/autoload_runtime.php
->
run
(line 29)
$app = $app(...$args);
exit(
$runtime
->getRunner($app)
->run()
);
require_once('/var/www/vhosts/sortir-en-bretagne.fr/preprod.sortir-en-bretagne.fr/vendor/autoload_runtime.php')
in
public/index.php
(line 5)
<?php
use App\Kernel;
require_once dirname(__DIR__).'/vendor/autoload_runtime.php';
return function (array $context) {
return new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']);
};
Logs
Level | Channel | Message |
---|---|---|
INFO 01:25:50 | deprecation |
User Deprecated: Class "Doctrine\ORM\Proxy\Autoloader" is deprecated. Use native lazy objects instead. (Autoloader.php:74 called by DoctrineBundle.php:130, https://github.com/doctrine/orm/pull/12005, package doctrine/orm) { "exception": {} } |
DEBUG 01:25:50 | php |
User Notice: Install the curl extension or run "composer require amphp/http-client:^5" to perform async HTTP operations, including full HTTP/2 support { "exception": { "severity": 1024, "file": "/var/www/vhosts/sortir-en-bretagne.fr/preprod.sortir-en-bretagne.fr/vendor/symfony/http-client/HttpClient.php", "line": 65, "trace": [ { "file": "/var/www/vhosts/sortir-en-bretagne.fr/preprod.sortir-en-bretagne.fr/var/cache/dev/ContainerEXLM6bK/App_KernelDevDebugContainer.php", "line": 1539, "function": "create", "class": "Symfony\\Component\\HttpClient\\HttpClient", "type": "::" } ], "count": 1 } } |
INFO 01:25:50 | request |
Matched route "_profiler". { "route": "_profiler", "route_parameters": { "_route": "_profiler", "_controller": "web_profiler.controller.profiler::panelAction", "token": "097751" }, "request_uri": "https://preprod.sortir-en-bretagne.fr/_profiler/097751", "method": "GET" } |
DEBUG 01:25:50 | event |
Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\DebugHandlersListener::configure". { "event": "kernel.request", "listener": "Symfony\\Component\\HttpKernel\\EventListener\\DebugHandlersListener::configure" } |
DEBUG 01:25:50 | event |
Notified event "kernel.request" to listener "Symfony\UX\Turbo\Request\RequestListener::__invoke". { "event": "kernel.request", "listener": "Symfony\\UX\\Turbo\\Request\\RequestListener::__invoke" } |
DEBUG 01:25:50 | event |
Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\ValidateRequestListener::onKernelRequest". { "event": "kernel.request", "listener": "Symfony\\Component\\HttpKernel\\EventListener\\ValidateRequestListener::onKernelRequest" } |
DEBUG 01:25:50 | event |
Notified event "kernel.request" to listener "Symfony\Bridge\Doctrine\Middleware\IdleConnection\Listener::onKernelRequest". { "event": "kernel.request", "listener": "Symfony\\Bridge\\Doctrine\\Middleware\\IdleConnection\\Listener::onKernelRequest" } |
DEBUG 01:25:50 | event |
Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\SessionListener::onKernelRequest". { "event": "kernel.request", "listener": "Symfony\\Component\\HttpKernel\\EventListener\\SessionListener::onKernelRequest" } |
DEBUG 01:25:50 | event |
Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleListener::setDefaultLocale". { "event": "kernel.request", "listener": "Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener::setDefaultLocale" } |
DEBUG 01:25:50 | event |
Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\FragmentListener::onKernelRequest". { "event": "kernel.request", "listener": "Symfony\\Component\\HttpKernel\\EventListener\\FragmentListener::onKernelRequest" } |
DEBUG 01:25:50 | event |
Notified event "kernel.request" to listener "Symfony\Component\AssetMapper\AssetMapperDevServerSubscriber::onKernelRequest". { "event": "kernel.request", "listener": "Symfony\\Component\\AssetMapper\\AssetMapperDevServerSubscriber::onKernelRequest" } |
DEBUG 01:25:50 | event |
Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\RouterListener::onKernelRequest". { "event": "kernel.request", "listener": "Symfony\\Component\\HttpKernel\\EventListener\\RouterListener::onKernelRequest" } |
DEBUG 01:25:50 | event |
Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleListener::onKernelRequest". { "event": "kernel.request", "listener": "Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener::onKernelRequest" } |
DEBUG 01:25:50 | event |
Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleAwareListener::onKernelRequest". { "event": "kernel.request", "listener": "Symfony\\Component\\HttpKernel\\EventListener\\LocaleAwareListener::onKernelRequest" } |
DEBUG 01:25:50 | event |
Notified event "kernel.request" to listener "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::configureLogoutUrlGenerator". { "event": "kernel.request", "listener": "Symfony\\Bundle\\SecurityBundle\\Debug\\TraceableFirewallListener::configureLogoutUrlGenerator" } |
DEBUG 01:25:50 | event |
Notified event "kernel.request" to listener "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::onKernelRequest". { "event": "kernel.request", "listener": "Symfony\\Bundle\\SecurityBundle\\Debug\\TraceableFirewallListener::onKernelRequest" } |
DEBUG 01:25:50 | event |
Notified event "kernel.controller" to listener "Symfony\Bundle\FrameworkBundle\DataCollector\RouterDataCollector::onKernelController". { "event": "kernel.controller", "listener": "Symfony\\Bundle\\FrameworkBundle\\DataCollector\\RouterDataCollector::onKernelController" } |
DEBUG 01:25:50 | event |
Notified event "kernel.controller" to listener "Symfony\Component\HttpKernel\DataCollector\RequestDataCollector::onKernelController". { "event": "kernel.controller", "listener": "Symfony\\Component\\HttpKernel\\DataCollector\\RequestDataCollector::onKernelController" } |
DEBUG 01:25:50 | event |
Notified event "kernel.controller_arguments" to listener "Symfony\Component\Security\Http\EventListener\IsCsrfTokenValidAttributeListener::onKernelControllerArguments". { "event": "kernel.controller_arguments", "listener": "Symfony\\Component\\Security\\Http\\EventListener\\IsCsrfTokenValidAttributeListener::onKernelControllerArguments" } |
DEBUG 01:25:50 | event |
Notified event "kernel.controller_arguments" to listener "Symfony\Component\Security\Http\EventListener\IsGrantedAttributeListener::onKernelControllerArguments". { "event": "kernel.controller_arguments", "listener": "Symfony\\Component\\Security\\Http\\EventListener\\IsGrantedAttributeListener::onKernelControllerArguments" } |
DEBUG 01:25:50 | event |
Notified event "kernel.controller_arguments" to listener "Symfony\Component\HttpKernel\EventListener\CacheAttributeListener::onKernelControllerArguments". { "event": "kernel.controller_arguments", "listener": "Symfony\\Component\\HttpKernel\\EventListener\\CacheAttributeListener::onKernelControllerArguments" } |
DEBUG 01:25:50 | event |
Notified event "kernel.controller_arguments" to listener "Symfony\Component\HttpKernel\Controller\ArgumentResolver\RequestPayloadValueResolver::onKernelControllerArguments". { "event": "kernel.controller_arguments", "listener": "Symfony\\Component\\HttpKernel\\Controller\\ArgumentResolver\\RequestPayloadValueResolver::onKernelControllerArguments" } |
DEBUG 01:25:50 | event |
Notified event "kernel.controller_arguments" to listener "Symfony\Component\HttpKernel\EventListener\ErrorListener::onControllerArguments". { "event": "kernel.controller_arguments", "listener": "Symfony\\Component\\HttpKernel\\EventListener\\ErrorListener::onControllerArguments" } |
Stack Trace
RuntimeError
|
---|
Twig\Error\RuntimeError: Impossible to invoke a method ("remove") on a sequence/mapping in "map/index.html.twig" at line 26. at templates/map/index.html.twig:26 at Twig\Extension\CoreExtension::getAttribute() (var/cache/dev/twig/12/125a3dc96aa3307f1c954155233bc9a5.php:165) at __TwigTemplate_acb2903c90475f9d33bf6c8ca18d256b->block_body() (vendor/twig/twig/src/Template.php:446) at Twig\Template->yieldBlock() (var/cache/dev/twig/54/54642db8b37e4e05d8009844a68fd04c.php:323) at __TwigTemplate_8773528647f80a4ae6193ff8066a5854->doDisplay() (vendor/twig/twig/src/Template.php:402) at Twig\Template->yield() (var/cache/dev/twig/12/125a3dc96aa3307f1c954155233bc9a5.php:55) at __TwigTemplate_acb2903c90475f9d33bf6c8ca18d256b->doDisplay() (vendor/twig/twig/src/Template.php:402) at Twig\Template->yield() (vendor/twig/twig/src/Template.php:358) at Twig\Template->display() (vendor/twig/twig/src/Template.php:373) at Twig\Template->render() (vendor/twig/twig/src/TemplateWrapper.php:51) at Twig\TemplateWrapper->render() (vendor/twig/twig/src/Environment.php:333) at Twig\Environment->render() (vendor/symfony/framework-bundle/Controller/AbstractController.php:459) at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->doRenderView() (vendor/symfony/framework-bundle/Controller/AbstractController.php:464) at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->doRender() (vendor/symfony/framework-bundle/Controller/AbstractController.php:278) at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->render() (src/Controller/SearchController.php:125) at App\Controller\SearchController->eventRangeMap() (vendor/symfony/http-kernel/HttpKernel.php:183) at Symfony\Component\HttpKernel\HttpKernel->handleRaw() (vendor/symfony/http-kernel/HttpKernel.php:76) at Symfony\Component\HttpKernel\HttpKernel->handle() (vendor/symfony/http-kernel/Kernel.php:182) at Symfony\Component\HttpKernel\Kernel->handle() (vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php:35) at Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run() (vendor/autoload_runtime.php:29) at require_once('/var/www/vhosts/sortir-en-bretagne.fr/preprod.sortir-en-bretagne.fr/vendor/autoload_runtime.php') (public/index.php:5) |