1
Introduction
- Principe client / serveur.
- Qu'est-ce que PHP ?
- Historique de PHP.
- Les différences entre PHP 4, PHP 5 et PHP 8.
- Présentation du fil rouge utilisé durant la formation : début de site de vente en ligne.
2
Syntaxe PHP
- Premiers éléments du langage.
- Intégration de PHP dans une page HTML.
- Inclusion et présentation succincte de la bibliothèque CSS Bootstrap.
- Fichier de configuration de PHP.
- Variables et constantes.
- Concaténations et manipulation de chaines.
- Tester l’existence d’une variable (isset()).
- Types des variables et transtypage.
- Variables serveur.
- Expressions régulières (preg_match(), preg_replace()).
- Conditions.
- L'expression match.
- Boucles.
- Fonctions et fonctions anonymes.
Travaux pratiques
Mise en place de notre site fil rouge : page d’accueil liée à la bibliothèque CSS Bootstrap. Inclusion d’un fichier de constantes et d’un fichier de fonctions. Affichage d’un premier produit.
3
Tableaux PHP
- Créer et manipuler des tableaux numériques.
- Créer et manipuler des tableaux associatifs.
- Tableaux à 2 dimensions.
- Fonctions courantes associées aux tableaux.(array_search(), array_replace(), etc.).
- Tris de tableaux (sort(), rsort(), asort(), arsort(), ksort(), krsort()).
Travaux pratiques
Mise en place d’un tableau de produits, et affichage de ces produits en page d’accueil.
4
Programmation Orientée Objet avec PHP
- Classes.
- Instanciation.
- Attributs.
- Accesseurs.
- Constructeur.
- Méthodes.
- Exceptions (try, catchs, throw, finally).
- Héritage.
- Polymorphisme.
- Classe abstraite.
- Interface.
- Espaces de noms (namespace, use).
Travaux pratiques
Mise en place d’une classe ainsi que d’une classe enfant afin de modéliser les produits. Pratique des divers sujets de POO abordés. Mise à jour du code précédent afin d’utiliser ces classes en page d’accueil pour afficher les produits.
5
Manipuler une base de données avec PDO
- Rappels des concepts fondamentaux des bases de données relationnelles : bases, tables, champs.
- Mise en place d’une base de données simple.
- Présentation de PDO.
- Connexion à la base de données avec PDO.
- Requêtes simples.
- Requêtes précompilées.
- fetch(), fetchAll() et fetchObject().
- PDOExceptions.
- Transactions : beginTransaction(), commit(), rollback().
Travaux pratiques
Création d’une base de données simple avec des produits, des catégories, et des comptes utilisateurs. Utilisation de PDO pour afficher les produits de la base de données.
6
Formulaires
- Mise en place d’un formulaire.
- Précision de l’URL d’envoi.
- Transmission de données en GET.
- Transmission de données en POST.
- Tests d’erreurs : champ requis, et formats (expressions régulières).
- Redirections.
7
Sessions
- Introduction aux sessions.
- session_start().
- Tableau $_SESSION.
- Supprimer une session.
- Affichages et redirections selon les données en session.
Travaux pratiques
Mise en session de l’utilisateur connecté, ainsi que d’un bouton de déconnexion. Mise en place d’une page d’administration avec accès restreint, vide dans un premier temps. Mise en place d’un menu avec bouton d’administration s’affichant conditionnellement. Si le temps le permet, mise en place d’un panier listant les produits mis en session.
8
Fichiers
- Manipuler le système de fichiers : chown(), chmod(), copy(), delete(), rename(), mkdir(), rmdir().
- Créer des fichiers : fopen(), fread(), fwrite(), fclose() file_get_contents() et file_put_contents().
- Récupérer et formater les dates : date() et strftime().
- Mise en place d’un formulaire avec envoi de fichiers (attribut enctype, input file).
- Récupération et utilisation du tableau $_FILES.
- Mise en place de limites de taille d’envoi et de type de fichier transmis.
- Tests d’existence de fichiers sur le serveur avec file_exists().
- Déplacement des fichiers uploadés avec move_upload_file().
Travaux pratiques
Mise en place d’un système de logs qui liste dans un fichier les utilisateurs qui se sont connectés. Mise en place de la page d’administration de produits, comprenant un formulaire d’ajout de produit, ainsi qu’un tableau listant les produits en base, et permettant de les supprimer.
9
Préparation à la certification
- Modalités.
- Quizz d’entrainement.
- Ajout de fonctionnalités au site si le temps le permet.