Stronę tą wyświetlono już: 2752 razy
Zarówno pola jaki i metody klas w PHP mogą być statyczne za sprawą użycia słowa kluczowego static. Metody i pola statyczne wyróżniają się tym, że można się do nich odwoływać bez konieczności tworzenia obiektu klasy. Oto prosty przykład:
<?php
class myMath{
public static $last_angle = 0; // pole statyczne klasy
public static function degreesToRadians($angle_in_degrees){ // statyczna metoda klasy
self::$last_angle = pi() / 180. * $angle_in_degrees; // przypisanie polu statycznemu klasy wartości
return self::$last_angle;
}
const PHI = 1.6180339887498948482; // stała wewnątrz klasy
}
$angle = 30;
echo("<p>Kąt w stopniach: $angle;");
echo(" kąt w radianach: " . myMath::degreesToRadians($angle) . ";</p>"); // wywołanie metody statycznej
echo("<p>Ostatnio przeliczony kąt: " . myMath::$last_angle . ";</p>"); // odwołanie się do pola statycznego klasy (nie obiektu klasy)
echo("<p>Stała: " . myMath::PHI . "</p>"); // wywołanie stałej wewnętrznej klasy
?>