# Référence du langage

- La syntaxe de base
  - Balises PHP
  - Échappement depuis du HTML
  - Séparation des instructions
  - Commentaires
- Les types
  - Introduction
  - Système de type
  - NULL
  - Booléen
  - Les entiers
  - Nombres à virgules flottantes
  - Chaînes
  - Chaînes numériques
  - Les tableaux
  - Les objets
  - Les énumérations
  - Les ressources
  - Fonctions de rappel / Types Callable
  - Mixed
  - Void
  - Never
  - Types de classes relatives
  - Type singleton
  - Itérables
  - Déclarations de type
  - Jonglage de type
- Les variables
  - Essentiel
  - Variables pré-définies
  - Portée des variables
  - Les variables dynamiques
  - Variables externes à PHP
- Les constantes
  - Syntaxe
  - Constantes prédéfinie
  - Constantes magiques
- Les expressions
- Les opérateurs
  - Priorité des opérateurs — La priorité des opérateurs
  - Arithmétique — Les opérateurs arithmétiques
  - Incrémentation et décrémentation — Opérateurs d'incrémentation et décrémentation
  - Affectation — Les opérateurs d'affectation
  - Bitwise — Opérateurs sur les bits
  - Comparaison — Opérateurs de comparaison
  - Contrôle d'erreur — Opérateur de contrôle d'erreur
  - Exécution — Opérateur d'exécution
  - Logique — Les opérateurs logiques
  - Chaînes de caractères — Opérateurs de chaînes de caractères
  - Tableaux — Opérateurs de tableaux
  - Type — 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
  - match
  - declare
  - return
  - require
  - include
  - require_once
  - include_once
  - goto
- Les fonctions
  - Les fonctions définies par l'utilisateur
  - Paramètres et arguments de fonction
  - Les valeurs de retour
  - Fonctions variables
  - Fonctions internes
  - Fonctions anonymes
  - Fonction Fléchée
  - Syntaxe callable de première classe
- Les classes et les objets
  - Introduction
  - Syntaxe de base
  - Propriétés
  - Hooks de propriété
  - 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"
  - Clonage d'objets
  - Comparaison d'objets
  - Late Static Bindings (Résolution statique à la volée)
  - Objets et références
  - Sérialisation d'objets — Sérialiser des objets - des objets en session
  - Covariance et Contravariance
  - Objets paresseux
  - Modifications en POO (Programmation orientée objet)
- Les espaces de noms
  - Introduction — Introduction aux espaces de noms
  - Définition des espaces de noms
  - Sous espace de noms — Déclaration d'un sous espace de noms
  - Définition de plusieurs espaces de noms dans le même fichier
  - Introduction — Utilisation des espaces de noms : introduction
  - Espaces de noms et langage dynamique
  - Commande namespace et __NAMESPACE__ — La commande namespace et la constante __NAMESPACE__
  - Importation et alias — Utilisation des espaces de noms : importation et alias
  - Global — Espace de noms global
  - Retour sur l'espace global — Utilisation des espaces de noms : retour sur l'espace global pour les fonctions et les constantes
  - Règles de résolutions de noms
  - Foire aux questions — Foire aux questions : ce que vous devez savoir des espaces de noms
- Les énumérations
  - Aperçu des énumérations
  - Énumérations de base
  - Énumérations avec valeur de base
  - Méthodes d'énumération
  - Méthodes statiques d'Enumération
  - Constantes d'énumération
  - Traits
  - Valeurs d'énumération dans les expressions constantes
  - Différences avec les objets
  - Liste de valeurs
  - Sérialisation
  - Pourquoi les enums ne sont pas extensibles
  - Exemples
- Erreurs
  - Bases
  - Les Erreurs en PHP 7
- Les exceptions
  - Etendre les Exceptions
- Fibres
- Generators
  - Résumé sur les générateurs
  - Syntaxe d'un Générateur
  - Comparaison des générateurs avec les objets Iterator
- Attributs
  - Aperçu des attributs
  - Syntaxe des attributs
  - Lecture des attributs avec l'API de Reflection
  - Déclaration des classes d'attributs
- 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 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_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
  - ClosedGeneratorException — La classe ClosedGeneratorException
  - Error
  - ArgumentCountError
  - ArithmeticError
  - AssertionError
  - DivisionByZeroError
  - CompileError
  - ParseError
  - TypeError
  - ValueError
  - UnhandledMatchError
  - FiberError
  - RequestParseBodyException
- Interfaces et Classes Prédéfinies
  - Traversable — L'interface Traversable
  - Iterator — L'interface Iterator
  - IteratorAggregate — L'interface IteratorAggregate
  - InternalIterator — La classe InternalIterator
  - Throwable
  - Countable — L'interface Countable
  - ArrayAccess — L'interface ArrayAccess
  - Serializable — L'interface Serializable
  - Closure — La classe Closure
  - stdClass — La classe stdClass
  - Generator — La classe Generator
  - Fiber — La classe Fiber
  - WeakReference — La classe WeakReference
  - WeakMap — La classe WeakMap
  - Stringable — L'interface Stringable
  - UnitEnum — L'interface UnitEnum
  - BackedEnum — L'interface BackedEnum
  - SensitiveParameterValue — La classe SensitiveParameterValue
  - __PHP_Incomplete_Class — La classe __PHP_Incomplete_Class
- Attributs prédéfinis
  - Attribute — La classe Attribute
  - AllowDynamicProperties — La classe AllowDynamicProperties
  - Deprecated — L'attribut Deprecated
  - Override — La classe Override
  - ReturnTypeWillChange — La classe ReturnTypeWillChange
  - SensitiveParameter — La classe SensitiveParameter
- 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
  - Les options du contexte Phar — Liste des options du contexte Phar
  - Paramètres de contexte — Liste des paramètres de contexte
  - Options de contexte Zip — Zip context option listing
  - Options de contexte Zlib — Liste des options de contexte Zlib
- 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