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