Hallo zusammen,
ich habe der Docu folgend mit Annotation eine eigene Route erstellt, die auch wunderbar funktioniert:
PHP-Code:
// /src/Controller/TestController.php
namespace App\Controller;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
/**
* @Route("/test/{slug}", name=TopicController::class)
*/
class TopicController
{
public function __invoke(string $slug, Request $request): Response
{
return new Response("hallo " . $slug);
}
}
Wenn ich also /test/welt aufrufe, wird "hallo welt" ausgegeben. Soweit so gut!
Um auf die Datenbank zuzugreifen, erweitere ich den TestController (um nur ein Beispiel zu nehmen) um use Contao\ArticleModel; und lasse mir dann var_dump(ArticleModel::findById(1)); ausgeben.
Leider bekomme ich dann immer den Fehler: The Symfony container is not available, did you initialize the Contao framework? – und zwar egal, welches Model ich verwende.
Nach langem suchen habe ich diese Lösung mit der Doctrine\DBAL\Connection gefunden: https://community.contao.org/de/show...l=1#post555056
Aber das ist ja keine schöne Lösung, wenn man schon eigene Models hat…
Sollte das nicht auch eleganter gehen?
Lesezeichen