debutsymfony
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
debutsymfony [2022/09/15 13:36] – [Création de la vue] admin | debutsymfony [2024/10/14 14:21] (Version actuelle) – admwiki | ||
---|---|---|---|
Ligne 9: | Ligne 9: | ||
* créer la vue contenant les informations à afficher. | * créer la vue contenant les informations à afficher. | ||
- | ===== Le fichier des routes : ===== | ||
- | Le fichier .../ | + | Il est nécessaire |
- | Ici l'url saisie sera : http:// | + | < |
- | + | composer require symfony/apache-pack | |
- | Chaque route est définie par un ensemble | + | |
- | * le nom de la route (ici '' | + | |
- | * le path = la partie de l'url à saisir dans le navigateur derrière http:// | + | |
- | * le contrôleur et la méthode associée à la route (ici EtudiantController, | + | |
- | + | ||
- | __Fichier .../ | + | |
- | + | ||
- | < | + | |
- | route_accueil: | + | |
- | path: /accueil | + | |
- | controller: App\Controller\EtudiantController:: | + | |
</ | </ | ||
+ | ===== Création et configuration de la base de données : ===== | ||
+ | 1) Sous mariadb, créer la base de données nommée webstudent | ||
- | ===== Création du contrôleur ===== | + | 2) Configurer la connexion à la bdd dans le fichier .env |
+ | < | ||
+ | ===== Création d'un contrôleur : ===== | ||
Le contrôleur contient la logique applicative. Il utilise la couche modèle pour exploiter les données, effectue éventuellement des traitements et redirige vers une vue. | Le contrôleur contient la logique applicative. Il utilise la couche modèle pour exploiter les données, effectue éventuellement des traitements et redirige vers une vue. | ||
Les contrôleurs sont situés dans le dossier '' | Les contrôleurs sont situés dans le dossier '' | ||
+ | Créer le controlleur EtudiantController avec la commande ci-dessous dans la console (à la racine du projet) | ||
< | < | ||
>php bin/console make: | >php bin/console make: | ||
</ | </ | ||
Donner le nom '' | Donner le nom '' | ||
- | Vérifier la présence du nouveau fichier dans src/ | + | Vérifier la présence du nouveau fichier dans src/ |
- | __Fichier .../src/Controller/ | + | → Fichiers créés : |
- | <code php> | + | |
- | <?php | + | |
+ | ===== Tests : ===== | ||
+ | Tester dans le navigateur | ||
+ | http:// | ||
+ | |||
+ | Note : Si erreur page non trouvée : | ||
+ | Vérifier la présence du fichier .htaccess dans le dossier public. Si inexistant, copier ce fichier depuis le nas | ||
+ | |||
+ | ===== Analyse : ===== | ||
+ | 1) Analyser le fichier EtudiantController | ||
+ | {{: | ||
+ | |||
+ | 2) Analyser la vue templates/ | ||
+ | Les vues avec symfony sont générées avec le moteur de templates Twig. Il s'agit de simples pages contenant essentiellement du Html et dans lesquelles des morceaux de code php peuvent être exécutés. Les vues doivent avoir l' | ||
+ | ===== Fichier de routes: ===== | ||
+ | Il est possible | ||
+ | Le fichier .../ | ||
+ | Précédemment l'url saisie était: http:// | ||
+ | |||
+ | Dans le fichier de routes config/ | ||
+ | * le nom de la route (ici '' | ||
+ | * le path = la partie de l'url à saisir dans le navigateur derrière http:// | ||
+ | * le contrôleur et la méthode associée à la route (ici EtudiantController, | ||
+ | |||
+ | |||
+ | a)mettre en commentaires la ligne 11 (//# | ||
+ | b)configurer la route dans le fichier config/ | ||
+ | |||
+ | < | ||
+ | resource: | ||
+ | path: ../ | ||
+ | namespace: App\Controller | ||
+ | type: attribute | ||
+ | |||
+ | app_etudiant: | ||
+ | path: /etudiant | ||
+ | controller: App\Controller\EtudiantController:: | ||
+ | |||
+ | c)Tester dans le navigateur | ||
+ | http:// | ||
+ | |||
+ | |||
+ | |||
+ | ===== Activité ===== | ||
+ | Le but de cette première activité est de créer une page d’accueil affichant « Bonjour les SIO – | ||
+ | Quelles notes obtiendrez vous au BTS en 2024 ?» | ||
+ | L’année sera un paramètre nommé pAnnee qui sera passé à la vue. | ||
+ | |||
+ | 1) Dans le fichier de routes, créer une route dont l’url à saisir dans le navigateur sera | ||
+ | http:// | ||
+ | Cette route redirigera vers la méthode nommée accueil de EtudiantController | ||
+ | |||
+ | 2) modifier le contrôleur EtudiantController pour ajouter la nouvelle méthode accueil.===== | ||
+ | |||
+ | < | ||
namespace App\Controller; | namespace App\Controller; | ||
Ligne 52: | Ligne 97: | ||
class EtudiantController extends AbstractController | class EtudiantController extends AbstractController | ||
{ | { | ||
- | /* | + | |
- | * @Route("/etudiant", name=" | + | |
- | */ | + | //#[Route('/etudiant', name: ' |
- | public function index() | + | public function index(): Response |
{ | { | ||
- | /* Cette simple instruction permet d' | + | return $this-> |
- | return new Response('< | + | |
- | */ | + | ]); |
- | + | ||
- | // initialise une variable qui sera exploitée dans la vue | + | |
- | | + | |
- | return $this-> | + | |
- | ]); | + | |
} | } | ||
+ | |||
+ | | ||
+ | public function accueil(): Response | ||
+ | { | ||
+ | $annee = ' | ||
+ | return $this-> | ||
+ | ]); | ||
+ | } | ||
+ | | ||
} | } | ||
</ | </ | ||
- | La méthode | + | La méthode |
===== Création de la vue ===== | ===== Création de la vue ===== | ||
- | Les vues avec symfony sont générées avec le moteur de templates Twig. | ||
- | Il s'agit de simples pages contenant essentiellement du Html et dans lesquelles des morceaux de code php peuvent être exécutés. | ||
- | Les vues doivent avoir l' | ||
Voici la vue renvoyée par le contrôleur ci-dessus et permettant d' | Voici la vue renvoyée par le contrôleur ci-dessus et permettant d' | ||
Ce fichier nommé accueil.html.twig est créé dans le dossier ../ | Ce fichier nommé accueil.html.twig est créé dans le dossier ../ | ||
Ligne 101: | Ligne 147: | ||
===== Tests ===== | ===== Tests ===== | ||
- | * Saisir dans le navigateur l'url : http:// | + | * Saisir dans le navigateur l'url : http:// |
* La réponse attendue est : | * La réponse attendue est : | ||
{{: | {{: | ||
debutsymfony.1663248976.txt.gz · Dernière modification : 2022/09/15 13:36 de admin