Pola i metody statyczne klas w PHP

Stronę tą wyświetlono już: 207 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:

Listing 1
  1. <?php
  2. class myMath{
  3. public static $last_angle = 0; // pole statyczne klasy
  4. public static function degreesToRadians($angle_in_degrees){ // statyczna metoda klasy
  5. self::$last_angle = pi() / 180. * $angle_in_degrees; // przypisanie polu statycznemu klasy wartości
  6. return self::$last_angle;
  7. }
  8. const PHI = 1.6180339887498948482; // stała wewnątrz klasy
  9. }
  10. $angle = 30;
  11. echo("<p>Kąt w stopniach: $angle;");
  12. echo(" kąt w radianach: " . myMath::degreesToRadians($angle) . ";</p>"); // wywołanie metody statycznej
  13. echo("<p>Ostatnio przeliczony kąt: " . myMath::$last_angle . ";</p>"); // odwołanie się do pola statycznego klasy (nie obiektu klasy)
  14. echo("<p>Stała: " . myMath::PHI . "</p>"); // wywołanie stałej wewnętrznej klasy
  15. ?>

Komentarze