# Sprachreferenz

- Grundlagen der Syntax
  - PHP-Tags
  - Den HTML-Bereich verlassen
  - Die Trennung von Anweisungen
  - Kommentare
- Typen
  - Einführung
  - Typsystem
  - NULL
  - Booleans
  - Ganzzahlen (Integer)
  - Gleitkommazahlen
  - Strings (Zeichenketten)
  - Numerische Zeichenketten
  - Arrays
  - Objekte
  - Aufzählungen (Enum)
  - Ressourcen
  - Callbacks / Callables
  - Mixed
  - Void
  - Never
  - Relative Klassentypen
  - Singleton-Typen
  - Iterable
  - Typdeklarationen
  - Typumwandlung (Typen-Jonglage)
- Variablen
  - Grundlegendes
  - Vordefinierte Variablen
  - Geltungsbereich von Variablen
  - Variable Variablen
  - Variablen aus externen Quellen
- Konstanten
  - Syntax
  - Vordefinierte Konstanten
  - Magische Konstanten
- Ausdrücke
- Operatoren
  - Operator-Rangfolge
  - Arithmetisch — Arithmetische Operatoren
  - Inkrement und Dekrement — Inkrement- bzw. Dekrement-Operatoren
  - Zuweisung — Zuweisungsoperatoren
  - Bit — Bit-Operatoren
  - Vergleich — Vergleichs-Operatoren
  - Fehlerkontrolle — Operator zur Fehlerkontrolle
  - Programmausführung — Operator zur Programmausführung
  - Logik — Logische Operatoren
  - Zeichenketten — Zeichenketten-Operatoren
  - Array — Array-Operatoren
  - Typ — Typ-Operatoren
  - Functional — Functional Operators
- Kontrollstrukturen
  - Einführung
  - if
  - else
  - elseif/else if
  - Alternative Syntax für Kontrollstrukturen
  - while
  - do-while
  - for
  - foreach
  - break
  - continue
  - switch
  - match
  - declare
  - return
  - require
  - include
  - require_once
  - include_once
  - goto
- Funktionen
  - Benutzerdefinierte Funktionen
  - Funktionsparameter und -argumente
  - Rückgabewerte
  - Variablenfunktionen
  - Interne (eingebaute) Funktionen
  - Anonyme Funktionen
  - Pfeilfunktionen
  - Callback-Funktionen als Objekte erster Klasse
- Klassen und Objekte
  - Einführung
  - Die Grundlagen
  - Eigenschaften
  - Property Hooks
  - Klassenkonstanten
  - Automatisches Laden von Klassen
  - Konstruktoren und Destruktoren
  - Sichtbarkeit
  - Objekt-Vererbung
  - Gültigkeitsbereichsoperator (::)
  - Schlüsselwort static
  - Klassenabstraktion
  - Objekt-Interfaces (Schnittstellen)
  - Traits
  - Anonyme Klassen
  - Überladung
  - Objektiteration
  - Magische Methoden
  - Final-Schlüsselwort
  - Objekte klonen
  - Objekte vergleichen
  - Späte statische Bindung
  - Objekte und Referenzen
  - Serialisierung von Objekten — Serialisierung von Objekten - Objekte in Sessions
  - Kovarianz und Kontravarianz
  - Lazy Objects
  - OOP-Changelog
- Namespaces
  - Übersicht — Übersicht über Namespaces
  - Namespaces — Namespaces definieren
  - Unter-Namespaces — Unter-Namespaces deklarieren
  - Mehrere Namespaces in derselben Datei definieren
  - Grundlagen — Namespaces verwenden: Grundlagen
  - Namespaces und dynamische Sprachfeatures
  - Schlüsselwort namespace und __NAMESPACE__ — Das Schlüsselwort namespace und die magische Konstante __NAMESPACE__
  - Aliase und Importieren — Namespaces verwenden: Aliase/Importieren
  - Globaler Namensraum
  - Rückgriff auf den globalen Namespace — Namespaces verwenden: Rückgriff auf den globalen Namespace für Funktionen und Konstanten
  - Regeln für Namensauflösung
  - FAQ — FAQ: Dinge, die Sie über Namespaces wissen sollten
- Aufzählungen (Enum)
  - Übersicht über Aufzählungen
  - Grundlagen der Aufzählungen
  - Wertgebundene Aufzählungen (Backed Enums)
  - Aufzählungen und Methoden
  - Aufzählungen und statische Methoden
  - Aufzählungen und Konstanten
  - Traits
  - Enum-Werte in konstanten Ausdrücken
  - Unterschiede zu Objekten
  - Liste mit Werten
  - Serialisierung
  - Warum Enums nicht erweiterbar sind
  - Beispiele
- Fehler
  - Basics
  - Fehler in PHP 7
- Exceptions (Ausnahmen)
  - Exceptions erweitern
- Fibers
- Generatoren
  - Generatoren-Übersicht
  - Generator-Syntax
  - Vergleich von Generatoren mit Iterator-Objekten
- Attribute
  - Übersicht über die Attribute
  - Syntax von Attributen
  - Lesen von Attributen mit der Reflection-API
  - Deklaration von Attributklassen
- Referenzen
  - Was Referenzen sind
  - Was Referenzen leisten
  - Was Referenzen nicht sind
  - Parameterübergabe per Referenz
  - Referenzen zurückgeben
  - Referenzen aufheben
  - Referenzen entdecken
- Vordefinierte Variablen
  - Superglobals — Interne Variablen, die immer in allen Gültigkeitsbereichen verfügbar sind
  - $GLOBALS — Referenziert alle Variablen, die im globalen Gültigkeitsbereich vorhanden sind
  - $_SERVER — Informationen über Server und Ausführungsumgebung
  - $_GET — Query-String-Variablen
  - $_POST — Formulardaten aus HTTP-POST-Anfragen
  - $_FILES — HTTP Dateiupload-Variablen
  - $_REQUEST — HTTP Request-Variablen
  - $_SESSION — Sessionvariablen
  - $_ENV — Umgebungsvariablen
  - $_COOKIE — HTTP Cookies
  - $php_errormsg — Die vorangegangene Fehlermeldung
  - $http_response_header — HTTP Response-Header
  - $argc — Die Anzahl der an das Skript übergebenen Argumente
  - $argv — Array der an das Skript übergebenen Argumente
- Vordefinierte Exceptions
  - Exception
  - ErrorException
  - ClosedGeneratorException — Die Klasse ClosedGeneratorException
  - Error
  - ArgumentCountError
  - ArithmeticError
  - AssertionError
  - DivisionByZeroError
  - CompileError
  - ParseError
  - TypeError
  - ValueError
  - UnhandledMatchError
  - FiberError
  - RequestParseBodyException
- Vordefinierte Interfaces und Klassen
  - Traversable — Das Traversable-Interface
  - Iterator — Das Iterator-Interface
  - IteratorAggregate — Das IteratorAggregate-Interface
  - InternalIterator — Die Klasse InternalIterator
  - Throwable
  - Countable — The Countable interface
  - ArrayAccess — Das ArrayAccess-Interface
  - Serializable — Das Serializable-Interface
  - Closure — Die Klasse Closure
  - stdClass — Die Klasse stdClass
  - Generator — Die Klasse Generator
  - Fiber — Die Klasse Fiber
  - WeakReference — Die Klasse WeakReference
  - WeakMap — Die Klasse WeakMap
  - Stringable — Das Stringable-Interface
  - UnitEnum — Die UnitEnum-Schnittstelle
  - BackedEnum — Die BackedEnum-Schnittstelle
  - SensitiveParameterValue — Die Klasse SensitiveParameterValue
  - __PHP_Incomplete_Class — Die Klasse __PHP_Incomplete_Class
- Vordefinierte Attribute
  - Attribute — Das Attribut Attribute
  - AllowDynamicProperties — Das Attribut AllowDynamicProperties
  - Deprecated — Das Attribut Deprecated
  - NoDiscard — The NoDiscard attribute
  - Override — Das Attribut Override
  - ReturnTypeWillChange — Das Attribut ReturnTypeWillChange
  - SensitiveParameter — Das Attribut SensitiveParameter
- Kontextoptionen und -parameter
  - Socket-Kontextoptionen — Liste der Socket-Kontextoptionen
  - HTTP-Kontextoptionen — Liste der HTTP-Kontextoptionen
  - FTP-Kontextoptionen — Liste der FTP-Kontextoptionen
  - SSL-Kontext-Optionen — Liste der SSL-Kontext-Optionen
  - Phar Kontextoptionen — Liste der Phar Kontextoptionen
  - Kontextparameter — Liste der Kontextparameter
  - Zip-Kontextoptionen — Liste der Zip-Kontextoptionen
  - Zlib-Kontextoptionen — Liste der Zlib-Kontextoptionen
- Unterstützte Protokolle und Wrapper
  - file:// — Zugriff auf das lokale Dateisystem
  - http:// — Zugriff auf HTTP(s)-URLs
  - ftp:// — Zugriff auf FTP(s)-URLs
  - php:// — Zugriff auf verschiedene I/O-Streams
  - zlib:// — Komprimierungsstreams
  - data:// — Daten (RFC 2397)
  - glob:// — Suche nach Pfadnamen, die einem Muster entsprechen
  - phar:// — PHP-Archiv
  - ssh2:// — Secure Shell 2
  - rar:// — RAR
  - ogg:// — Audio-Streams
  - expect:// — Streams für die Interaktion mit Prozessen

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open