Bonjour
Je débute sur Symfony et je suis la documentation officielle https://symfony.com/doc/current/setup.html pour faire l'installation sur Windows 10
J'ai installé Wamp (Apache/2.4.62 (Win64) PHP/8.3.14 ), puis Composer et Symfony CLI
symfony check:requirements
est conforme
Je déploie Symfony 7.2 par
symfony mon_project --version="7.2.x" --webapp
J'ai bien la page par defaut de Symfony à l'adresse http://127.0.0.1:8000/
Pour la création de ma premiere page selon https://symfony.com/doc/current/page_creation.htmlJ
Je crée un controller
<?php
// src/Controller/LuckyController.php
namespace App\Controller;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Attribute\Route;
class LuckyController
{
#route[('/lucky/number')]
public function number(): Response
{
$number = random_int(0, 100);
return new Response(
'<html><body>Lucky number: '.$number.'</body></html>'
);
}
Mais lorsque j'appelle la page http://127.0.0.1:8000/lucky/number j'ai le message d'erreur
No route found for "GET http://127.0.0.1:8000/lucky/number"
J'ai plusieurs fois tenté ce guide en suivant strictement les indications avec le même echec
Quelle peut-être le probléme ?
Merci
Merci pour vos réponses et vos conseils
En effet les typo de syntaxe sont les principales sources d'erreur en absence de connaissance du language.
Malgré les relectures on ne les voit pas
J'ai deployé sous Symfony 6.4
symfony mon_project2 --version="6.4.x" --webapp
Dans cette environnement
Le code de la documentation https://symfony.com/doc/6.4/page_creation.html, identique à celui de la page courante, fonctionne correctement
Quels changements doit-on faire pour que cela fonctionne ?
J'ai reporté un bug sur https://github.com/symfony/symfony-docs/issues/20766
Salut, tu peux commencer par changer ton attribut 'route' en #[Route()]
<?php
// src/Controller/LuckyController.php
namespace App\Controller;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Attribute\Route;
class LuckyController
{
#Route[('/lucky/number')]
public function number(): Response
{
$number = random_int(0, 100);
return new Response(
'<html><body>Lucky number: '.$number.'</body></html>'
);
}
De plus, tu peux spécifier un name et un path, exemple:
#Route[(path: '/lucky/number', name: 'lucky_number')]
Ce qui te permettras de pouvoir spécifier le name lorsqu'en twig tu voudras pointer vers ce chemin:
<a href="{{ path('lucky_number }}">Lucky number</a>
Bonjour,
tu as une erreur dans l'attribut route.
Essai de l'écrire dans les crochets :
#[Route(path: 'lucky/number', name: 'lucky_number')]