Hi,
ich scheitere seit Tagen daran globale Variablen aus der Datenbank zu holen die in der ganzen Anwendung gültig sind, also unabhängig der gewählten Route bzw. des Raumes in der App.
Meine twig.yaml sieht wie folgt aus:
twig:
globals:
article : '@App\Twig\ArticleExtension'
...und meine ArticleExtension in src/Twig/ArticleExtension wie folgt:
<?php
namespace App\Twig;
use App\Entity\Article;
use Doctrine\ORM\EntityManagerInterface;
use Twig\Extension\AbstractExtension;
use Twig\TwigFunction;
class ArticleExtension extends AbstractExtension
{
private $em;
public function __construct(EntityManagerInterface $em)
{
$this->em = $em;
}
public function getFunctions(): array
{
return [
new TwigFunction('article', [$this, 'GetArticles'])
];
}
public Function getArticles()
{
return $this->em->getRepository(Article::class)->findBy([], ['name' => 'ASC']);
}
}
Wenn ich das ganze im Twig Template dumpe erhalte ich irgendwann nur die in Local Server EON. Ich habe herausgefunden, dass er bereits am Constructor hängenbleibt.
Wenn ich in der Extension eine Variable definiere und dann global ausgeben will, dann funzt das Ganze auch.
Ich bin ausschließlich an einer Lösung mit PHP interessiert.
ich scheitere seit Tagen daran globale Variablen aus der Datenbank zu holen die in der ganzen Anwendung gültig sind, also unabhängig der gewählten Route bzw. des Raumes in der App.
Meine twig.yaml sieht wie folgt aus:
twig:
globals:
article : '@App\Twig\ArticleExtension'
<?php
namespace App\Twig;
use App\Entity\Article;
use Doctrine\ORM\EntityManagerInterface;
use Twig\Extension\AbstractExtension;
use Twig\TwigFunction;
class ArticleExtension extends AbstractExtension
{
private $em;
public function __construct(EntityManagerInterface $em)
{
$this->em = $em;
}
public function getFunctions(): array
{
return [
new TwigFunction('article', [$this, 'GetArticles'])
];
}
public Function getArticles()
{
return $this->em->getRepository(Article::class)->findBy([], ['name' => 'ASC']);
}
}
Wenn ich in der Extension eine Variable definiere und dann global ausgeben will, dann funzt das Ganze auch.
Ich bin ausschließlich an einer Lösung mit PHP interessiert.
Kommentar