Konstanten in PHP und wie man Konstanten deklariert
- 24-07-2022
- Toanngo92
- 0 Comments
Mục lục
Das Konzept der Konstanten
Eine Konstante ist ein Begriff, der einen einzelnen Wert identifiziert. Der Wert der Konstante kann nicht geändert werden, während das Skript ausgeführt wird. Konstantennamen dürfen nur mit einem Buchstaben oder einem Unterstrich beginnen (das $-Zeichen darf nicht vor dem Konstantennamen stehen).
Konstanten sind im Gegensatz zu Variablen automatisch global im gesamten Skript. Kurz gesagt, eine Konstante ähnelt einer Variablen, aber wenn sie einmal angegeben ist, kann sie nicht mehr geändert werden
Definition von konstant
Syntax Konstanten in PHP initialisieren:
define(name, value, case-insensitive)
Zum Beispiel:
<?php define('VERSION','8.0'); echo VERSION; // output: 8.0 ?>
Konstantes Array
In PHP 8 kann eine Array-Konstante mit der Funktion define() erstellt werden.
<?php define("CARS", [ "Alfa Romeo", "BMH", "Toyota", "Range-Rover" ]); var_dump(CARS); // array(4) { [0]=> string(10) "Alfa Romeo" [1]=> string(3) "BMH" [2]=> string(6) "Toyota" [3]=> string(11) "Range-Rover" }
Konstanten existieren im globalen Geltungsbereich. Daher können sie im gesamten Skript verwendet werden.
Beispiel mit Konstanten innerhalb der Funktion, obwohl sie außerhalb der Funktion definiert sind:
<?php define("Hello", "what's new in PHP?"); function myTest() { echo Hello; } myTest(); //output: what's new in PHP? ?>
Magische Konstanten in PHP (vordefinierte Konstanten)
In PHP ändert sich der Wert einiger vordefinierter Konstanten je nach Kontext, in dem sie verwendet werden. Diese Konstanten werden magische Konstanten genannt. Groß- und Kleinschreibung werden nicht beachtet. Es gibt neun magische Konstanten in PHP, von denen acht mit einem doppelten Unterstrich (__) beginnen und enden:
- __LINIE__
- __DATEI__
- __DIR__
- __FUNKTION__
- __KLASSE__
- __MERKMAL__
- __METHODE__
- __NAMESPACE__
- Klassenname::klasse
Konstante Namen | Bezeichnung |
__LINIE__ | Gibt die aktuelle Zeilennummer zurück |
__DATEI__ | Gibt den absoluten Pfad der aktuellen Datei zurück |
__DIR__ | Gibt den aktuellen Verzeichnispfad zurück |
__FUNKTION__ | Gibt die aktuell aufgerufene Funktion zurück |
__KLASSE__ | Gibt die aktuelle Klasse zurück |
__MERKMAL__ | Gibt das verwendete TRAIT zurück |
__METHODE__ | Gibt die aktuelle Methode zurück |
__NAMESPACE__ | Gibt den aktuellen Namespace zurück |
Klassenname::klasse | Gibt die aktuelle Klasse zurück |
Im Gegensatz zu regulären Konstanten werden alle 9 dieser Konstanten zur Kompilierzeit statt zur Laufzeit aufgelöst.