Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich statische Variablen in PHP richtig initialisieren?
Statische Variablen in PHP initialisieren
Beim Initialisieren statischer Variablen können Syntaxfehler auftreten, wie der im angegebenen Codeausschnitt dargestellte. Dies liegt daran, dass PHP komplexe Ausdrücke innerhalb des Variableninitialisierers nicht analysieren kann.
Alternative Initialisierungsmethoden
Um dieses Problem zu beheben, sollten Sie die folgenden alternativen Methoden verwenden:
class Registration { static $dates; } Registration::$dates = array( 'start' => mktime(0, 0, 0, 7, 30, 2009), 'end' => mktime(0, 0, 0, 8, 2, 2009), 'close' => mktime(23, 59, 59, 7, 20, 2009), 'early' => mktime(0, 0, 0, 3, 19, 2009), );
class Registration { private static $dates; static function init() { self::$dates = array( 'start' => mktime(0, 0, 0, 7, 30, 2009), 'end' => mktime(0, 0, 0, 8, 2, 2009), 'close' => mktime(23, 59, 59, 7, 20, 2009), 'early' => mktime(0, 0, 0, 3, 19, 2009), ); } // Call the init function to initialize the variable public function __construct() { static::init(); } }
PHP 5.6-Unterstützung
PHP 5.6 Einführung einer eingeschränkten Unterstützung für nicht triviale Ausdrücke in statischen Variableninitialisierern. Aus Gründen der Übersichtlichkeit und Kompatibilität mit früheren PHP-Versionen wird jedoch empfohlen, die oben genannten Methoden zu verwenden.
Das obige ist der detaillierte Inhalt vonWie kann ich statische Variablen in PHP richtig initialisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!