Formation PHP
Objectifs
Comprendre et utiliser les balises, les variables, les constantes, les fonctions et les structures de contrôle en PHP.
Traiter les chaînes de caractères, utiliser les opérateurs et manipuler les tableaux.
Se connecter à une base de données MySQL, exécuter des requêtes SQL et utiliser PDO pour des requêtes préparées.
Utiliser les méthodes GET et POST, gérer les sessions et les cookies, et valider les données des formulaires.
Comprendre les failles XSS et les injections SQL, et optimiser les performances en PHP et MySQL.
Pré-requis
Participants
Programme de formation
LES BASES DU LANGAGE PHP
-
Les balises
- Syntaxe de base
- Insertion des balises PHP dans du code XHTML
- Envoi des données au serveur web
- Insertion de code XHTML avec l'instruction echo
- Les commentaires
-
Les variables
- Affectation
- Les types de variables
- Particularité du type string
- La concaténation
- Le transtypage
- Les variables dynamiques
-
Les constantes
FONCTIONS ET STRUCTURES DE CONTRÔLE
-
Les conditions (if, switch)
-
Les boucles (for, while, do while, foreach)
-
Les tableaux
- Tableaux numériques
- Tableaux associatifs
- Constantes de type tableau
- Parcours d'un tableau
- Fontions sur les tableaux
- Tableaux à plusieurs dimensions
-
Traitement de chaînes de caractères
- Les fonctions de manipulation de chaîne
- Les expressions régulières
-
Les opérateurs
- Les opérateurs de chaîne
- Les opérateurs arithmétiques
- Les opérateurs de comparaison
- L'opérateur ternaire
- Les opérateurs logiques
-
Les fonctions
- Création
- Les exceptions
- Retour du type des déclarations
- Portée des variables
- Les variables globales, statiques
- Fonctions utiles
- Passage par référence
- Fonctions sur la gestion de fonction
- Fonctions variables via l'opérateur...
- Décompression des arguments via l'opérateur...
- Fonction anonyme
- Fonctions dynamiques interdites
- Fonction générateur
- Récursivité
- Fonctions prédéfinies dans PHP
- Stocker une fonction dans une variable
- Gérer la mémoire tampon
-
Les dates
-
Les fichiers
- Introduction
- Lecture rapide, Ecriture rapide
- Ouverture et fermeture d'un fichier
- Lecture et écriture
- Accès concurrent
- Manipulation de fichiers
- Manipulation de répertoires
-
Les includes
-
Exercices sur les fichiers
TRANSMETTRE DES DONNÉES D'UNE PAGE À L'AUTRE
-
Les variables superglobales
- $GLOBALS
- $_SERVER
- $_ENV
- $_SESSION
- Les options de Session
- $_COOKIE
- $_FILES
-
La méthode GET
- Utilisation de la méthode GET
- Test de la présence de la variable dans l'URL
- Test de la valeur de la variable dans l'URL
- Informations complémentaires
-
La méthode POST
- Utilisation de la méthode POST
- Les différents éléments du formulaire
-
La variable $_REQUEST
-
Extraction de données
-
Zones portant le même nom
-
Plusieurs formulaires dans la même page
-
Contrôle des données et redirection de pages
- Introduction
- Données obligatoires
- Les filtres
- Suppression des espaces indésirables
- Longueur maximale
- Caractères autorisés
- Magic quotes
- Redirection de page
LES EFFETS SPÉCIAUX SUR UNE IMAGE
-
La librairie GD
-
Création d'une image
- Le header
- Création d'une image vide
- Création et affichage d'une image complète
- Résolution de l'image
-
Texte et couleur
- La couleur
- Le texte
- La transparence
-
Redimensionnement d'une image
-
Superposition d'images
-
Les formes
-
Différents exemples
BASE DE DONNÉES MYSQL
-
Présentation
- Introduction
- Structure
-
phpMyAdmin / Adminer
-
Le langage SQL
- Présentation
- Lire des données
- Ecrire des données
- Filtrer des données
- Les alias
- Tri des données
- Supprimer des données
- Modifier des données
- Les jointures
- Le regroupement
-
SQL avancé
- Les fonctions et instructions SQL
- Les fonctions de chiffrement et de compression
- La commande SHOW
- La commande SHOW PROCESSLIST
- Les expressions rationnelles
- Les sous-requêtes
- Les procédures stockées et les fonctions
- Les autres objets de MySQL
-
Exercices SQL
-
L'accès aux bases de données avec PHP
- Introduction
- Connexion
- Déconnexion
- Requêtes non préparées
- Requêtes préparées
-
PDO
- Introduction
- Connexion
- Requêtes non préparées
- Requêtes préparées
L'OBJET
-
Introduction
-
Les classes
- Introduction
- L'encapsulation
- Visibilité des attributs et des méthodes
- Ajout d'une méthode dans une classe
- Utilisation d'une classe
- Mettre à jour et lire les attributs de l'instance
- Passage en paramètre de type objet
- Le constructeur
- Le destructeur
- Exercice
- Les constantes de classe
- Les attributs et méthodes statiques
- Les exceptions
-
L'héritage
- Introduction
- Protected
- Substitution
- Héritage en cascade
-
Les classes abstraites
-
Substitution de méthodes abstraites
-
Les interfaces
-
Les classes finales
-
Les méthodes magiques
-
Les classes anonymes
-
Les traits
-
Uniform Variable Syntax
-
Les espaces de noms
-
Autoload
LA CONFIGURATION
-
Fichier de configuration PHP
- php.ini
-
Fichier de configuration MySQL
- my.ini
-
Fichier de configuration Apache
- httpd.conf
SÉCURITÉ
-
Failles XSS
- XSS non permanent
- XSS permanent
- Page d'erreur
-
Droits sur la base de données
-
Injection SQL (addslashes)
-
Vérification de la session
-
Performances
- PHP7
- Utilisation d'AST
- Optimiser les performances en PHP
- Optimiser les performances en MySQL