global
gekennzeichnet sind oder über $GLOBALS['Variablenname']
zur Verfügung stehen.class myGlobalArea { public static $AY = array ( 'A' => 'a' , 'B' => 'b' ); public static function showDate() { return date(DATE_RFC2822); } } // end of class myGlobalArea
statickönnen einzelne Variablen, Arrays, Funktionen (bzw. Methoden) definiert werden.
function SetAValue($par = null) { myGlobalArea::$AY['B'] = $par; print myGlobalArea::showDate().'<br>'; }
SetAValue()
macht zwei Dinge, die nichts miteinander zu tun haben.
$AY['B']
in der Klasse myGlobalArea
. Das geschieht über den sogenannten Klassenzugriff
(im Bsp. myGlobalArea::
) ohne dass ein Objekt dieser Klasse instantiiert werden muss.
showDate()
aufgerufen und deren Rückgabe ausgegeben.
print '' .print_r(myGlobalArea::$AY, true).''; // Ausgabe: Array ( [A] => a [B] => b )
SetAValue('c'); // Ausgabe: Mon, 04 Mar 2024 11:13:38 +0100
$AY['B']
wirklich verändert wurde.
print '<pre>' .print_r(myGlobalArea::$AY, true).'</pre>'; // Ausgabe: Array ( [A] => a [B] => c )
<?php class myGlobalArea { public static $AY = array ( 'A' => 'a' , 'B' => 'b' ); public static function showDate() { return date(DATE_RFC2822); } } function SetAValue($par = null) { // Static Variable in einer Klasse verändern myGlobalArea::$AY['B'] = $par; print myGlobalArea::showDate().'<br>'; } print '<pre>' .print_r(myGlobalArea::$AY, true).'</pre>'; SetAValue('c'); print '<pre>' .print_r(myGlobalArea::$AY, true).'</pre>'; ?>