# Référence du langage

- La syntaxe de base
  - Balises PHP
  - Échappement depuis du HTML
  - Séparation des instructions
  - Commentaires
- Les types
  - Introduction
  - Booléen
  - Les entiers
  - Nombres décimaux
  - Les chaînes de caractères
  - Les tableaux
  - Itérables
  - Les objets
  - Les ressources
  - NULL
  - Fonctions de rappel / Types Callable
  - Variables et pseudo-types utilisés dans cette documentation
  - Manipulation de types
- Les variables
  - Essentiel
  - Variables pré-définies
  - Portée des variables
  - Les variables dynamiques
  - Variables externes à PHP
- Les constantes
  - Syntaxe
  - Constantes magiques
- Les expressions
- Les opérateurs
  - La priorité des opérateurs
  - Les opérateurs arithmétiques
  - Les opérateurs d'affectation
  - Opérateurs sur les bits
  - Opérateurs de comparaison
  - Opérateur de contrôle d'erreur
  - Opérateur d'exécution
  - Opérateurs d'incrémentation et décrémentation
  - Les opérateurs logiques
  - Opérateurs de chaînes
  - Opérateurs de tableaux
  - Opérateurs de types
- Les structures de contrôle
  - Introduction
  - if
  - else
  - elseif/else if
  - Syntaxe alternative
  - while
  - do-while
  - for
  - foreach
  - break
  - continue
  - switch
  - declare
  - return
  - require
  - include
  - require_once
  - include_once
  - goto
- Les fonctions
  - Les fonctions définies par l'utilisateur
  - Les arguments de fonction
  - Les valeurs de retour
  - Fonctions variables
  - Fonctions internes
  - Fonctions anonymes
- Les classes et les objets
  - Introduction
  - Syntaxe de base
  - Propriétés
  - Constantes de classe
  - Auto-chargement de classes
  - Constructeurs et destructeurs
  - Visibilité
  - Héritage
  - L'opérateur de résolution de portée (::)
  - Statique
  - Abstraction de classes
  - Interfaces
  - Traits
  - Classes anonymes
  - Surcharge magique
  - Parcours d'objets
  - Méthodes magiques
  - Mot-clé "final"
  - Clônage d'objets
  - Comparaison d'objets
  - Type Hinting
  - Late Static Bindings (Résolution statique à la volée)
  - Objets et références
  - Sérialisation d'objets
  - Modifications en POO (Programmation orientée objet)
- Les espaces de noms
  - Introduction aux espaces de noms
  - Définition des espaces de noms
  - Déclaration d'un sous espace de noms
  - Définition de plusieurs espaces de noms dans le même fichier
  - Utilisation des espaces de noms : introduction
  - Espaces de noms et langage dynamique
  - La commande namespace et la constante __NAMESPACE__
  - Utilisation des espaces de noms : importation et alias
  - Espace de noms global
  - Utilisation des espaces de noms : retour à l'espace global
  - Règles de résolutions de noms
  - Foire aux questions : ce que vous devez savoir des espaces de noms
- Erreurs
  - Bases
  - Les Erreurs en PHP 7
- Les exceptions
  - Exceptions étendues
- Generators
  - Résumé sur les générateurs
  - Syntaxe d'un Générateur
  - Comparaison des générateurs avec les objets Iterator
- Les références
  - Qu'est ce qu'une référence ?
  - Que font les références ?
  - Ce que les références ne sont pas
  - Passage par référence
  - Retourner des références
  - Détruire une référence
  - Repérer une référence
- Variables prédéfinies
  - Les Superglobales — Les Superglobales sont des variables internes qui sont toujours disponibles, quel que soit le contexte
  - $GLOBALS — Référence toutes les variables disponibles dans un contexte global
  - $_SERVER — Variables de serveur et d'exécution
  - $_GET — Variables HTTP GET
  - $_POST — Variables HTTP POST
  - $_FILES — Variable de téléchargement de fichier via HTTP
  - $_REQUEST — Variables de requête HTTP
  - $_SESSION — Variables de session
  - $_ENV — Variables d'environnement
  - $_COOKIE — Cookies HTTP
  - $php_errormsg — Le dernier message d'erreur
  - $HTTP_RAW_POST_DATA — Données POST brutes
  - $http_response_header — En-têtes de réponse HTTP
  - $argc — Le nombre d'arguments passés au script
  - $argv — Tableau d'arguments passés au script
- Exceptions prédéfinies
  - Exception
  - ErrorException
  - Error
  - ArgumentCountError
  - ArithmeticError
  - AssertionError
  - DivisionByZeroError
  - CompileError
  - ParseError
  - TypeError
- Interfaces et Classes prédéfinies
  - Traversable — L'interface Traversable
  - Iterator — L'interface Iterator
  - IteratorAggregate — L'interface IteratorAggregate
  - Throwable
  - ArrayAccess — L'interface ArrayAccess
  - Serializable — L'interface Serializable
  - Closure — La classe Closure
  - Generator — La classe Generator
- Options et paramètres de contexte
  - Options de contexte des sockets — Liste des options de contexte des sockets
  - Options de contexte HTTP — Liste des options de contexte HTTP
  - Options de contexte FTP — Liste des options de contexte FTP
  - Options de contexte SSL — Liste des options de contexte SSL
  - Options de contexte CURL — Liste des options de contexte CURL
  - Les options du contexte Phar — Liste des options du contexte Phar
  - Options de contexte MongoDB — Liste des options de contexte MongoDB
  - Paramètres de contexte — Liste des paramètres de contexte
  - Options de contexte Zip — Zip context option listing
- Liste des protocoles et des gestionnaires supportés
  - file:// — Accès au système de fichiers local
  - http:// — Accès aux URLs HTTP(s)
  - ftp:// — Accès aux URLs FTP(s)
  - php:// — Accès aux divers flux I/O
  - zlib:// — Flux de compression
  - data:// — Données (RFC 2397)
  - glob:// — Trouve des noms de fichiers correspondant à un masque donné
  - phar:// — Archive PHP
  - ssh2:// — Shell sécurisé 2
  - rar:// — RAR
  - ogg:// — Flux Audio
  - expect:// — Flux d'interactions de processus