Cours de Rémi JarjatCours de Rémi Jarjat
  • Liste des cours
  • Culture numérique
  • Git
    • Terminologie
    • Avant de commencer
    • Créer un dépôt (local)
    • Enregistrer des changements
    • Des branches
    • Mise en commun du travail
    • Annuler des changements
    • Réécrire l'historique
    • Des outils pour se simplifier Git
    • Exercices
    • Exemples pratiques
  • Linux
    • Installation
    • Historique
    • Rangement des fichiers
    • Les processus
    • Commandes de base
    • Commandes avancées
    • /linux/6-other-technologies.html
    • Exercices
    • Correction des exercices
  • PHP
    • Environnement de travail
    • Bases du PHP
    • Tests et boucles
    • Procédures et fonctions
    • Interagir avec l'utilisateur
    • La temporisation de sortie
    • PHP Doc et PSR
    • PHP Orienté objet
    • Héritage et objets
    • Factorisation
    • Manipuler la BdD avec PDO (PHP Data Object)
    • Architecture MVC
    • Webservices REST
    • Exercices - Bases
    • Exercices - Séparer en plusieurs fichiers
    • Exercices - POST et SESSION
    • Exercices - Panier et validation
    • Exercices - Objets
    • Exercices - BdD avec PDO
    • Projet - montage d'ordinateurs
    • Projet - Personnages de Jeux de Rôle
  • Symfony
    • Installer Symfony et son environnement de travail
    • Structure et utilisation d'un projet
    • Le routing
    • Les controllers
    • Twig
    • Les services et l'injection de dépendances
    • Doctrine et la BdD
    • Formulaires
    • Les traductions
    • Event listeners/subscribers
    • Connexion et sécurisation
    • Bundles
    • Easy Admin Bundle
    • API Platform
    • Pense-bêtes
    • Symfony au quotidien
    • Travailler avec Docker
    • Projet : annonces de SPA / éleveurs
    • Exercices
  • Javascript
    • Les bases du langage
    • Manipulation logique
    • Le DOM
    • JQuery
    • Ajax
    • Programmation orientée objet
    • Webpack
    • Outils utiles
    • Révisions
  • Serveur Lamp
  • Déploiement
    • Des outils et manières de faire
    • Déploiement par FTP
    • Wordpress
    • Intégrer Git dans le processus
    • GitHub Pages pour déployer facilement
    • Symfony et Angular
  • Docker
  • Intégration continue
  • Sécurité informatique

Exercices - Objets

  • 22. Utilisation des objets
    • Pull Request
    • Correction
  • 23. Liste et filtres
    • Aides
  • 24. Retenir les valeurs entrées dans notre formulaire
    • Pull Request
    • Correction des exercices 23 et 24
  • 25. Continuer la conversion en objets
    • Pull Request
    • Correction

Pré-requis :

  • avoir un environnement de travail (Wamp / Xampp / Mamp ou équivalent)
  • avoir des bases de PHP

Correction :

  • En vidéo, tout le long des exercices (après l'énoncé correspondant)
  • Dans le code, sur le repository dédié aux corrections sur GitHub.

22. Utilisation des objets

  • Créer une nouvelle branche git utilisation-objets
  • Création d'une première classe Beanie qui va stocker nos données de bonnets
  • Définir propriétés et méthodes
  • Remplacer les tableaux dans $mesProduits par des objets ($mesProduits devient alors un tableau contenant des objets Beanie)
  • Mettre à jour nos différentes pages en conséquence

Pull Request

  • Créez une Pull Request
  • Invitez quelqu'un.e sur votre projet
  • Faites vous inviter par cette personne également
  • Relisez le code et faites vos retours (vérifiez que le code valide bien les normes PSR-12 et PSR-4, par exemple)
  • Approuvez (ou non) sa PR
  • Une fois votre PR validée par un.e pair.e, vous pouvez la fusionner (merge)

Correction

23. Liste et filtres

  • Créer une nouvelle branche git ajout-filtres
  • Ajouter des constantes (tailles et matières) dans votre classe pour gérer les énoncés suivants
  • Sur la liste des produits list.php, ajouter des filtres (formulaire, avec la method à POST) :
    • Par taille (S, M, L, XL)
    • Par matière (laine, soie, coton, cachemire, etc.)
    • Par prix (avec un minimum et un maximum)
  • Ajouter ces éléments dans vos données
    • Un bonnet peut avoir plusieurs tailles disponibles
    • peut avoir plusieurs matières

Aides

  • On va ajouter un formulaire pour ces filtres (3 champs, dont 2 champs <select>), que l'on va ajouter avant le tableau de list.php
  • Les tailles et les matières vont être rangées dans des constantes de classe et ce sont ces constantes qu'on va appeler pour afficher le contenu de nos <select>, en appelant le tableau Beanie::AVAILABLE_SIZES par exemple.
  • Pour filtrer les éléments de notre tableau de données, on va utiliser la fonction array_filter()

24. Retenir les valeurs entrées dans notre formulaire

  • Dans le formulaire de filtre, quand une valeur est définie (par exemple : $minPrice = 5), on veut qu'elle apparaisse de nouveau dans le formulaire (par défaut, les valeurs sont remises à zéro).

Pull Request

  • Créez une Pull Request
  • Invitez quelqu'un.e sur votre projet
  • Faites vous inviter par cette personne également
  • Relisez le code et faites vos retours (vérifiez que le code valide bien les normes PSR-12 et PSR-4, par exemple)
  • Approuvez (ou non) sa PR
  • Une fois votre PR validée par un.e pair.e, vous pouvez la fusionner (merge)

Correction des exercices 23 et 24

25. Continuer la conversion en objets

  • Créer les classes suivantes et les utiliser dans le code existant (dans tous les cas, je vous laisse libre pour les propriétés et les méthodes) :
    • Contact un objet de gestion des messages de contact (lui passer un tableau de paramètres dans le constructeur, pour faire le lien plus rapidement entre le formulaire et l'objet)
    • BeanieFilter un objet pour le formulaire de filtres des bonnets
    • Cart un objet pour gérer le panier et le mettre en session
    • Page un objet pour les informations d'une page
  • Si du code est répété, créer un/des traits pour factoriser (les ranger dans un sous-dossier de classes)

Pull Request

  • Créez une Pull Request
  • Invitez quelqu'un.e sur votre projet
  • Faites vous inviter par cette personne également
  • Relisez le code et faites vos retours (vérifiez que le code valide bien les normes PSR-12 et PSR-4, par exemple)
  • Approuvez (ou non) sa PR
  • Une fois votre PR validée par un.e pair.e, vous pouvez la fusionner (merge)

Correction

Dernières mise à jour :
Prev
Exercices - Panier et validation
Next
Exercices - BdD avec PDO