PHP OOP - Metody statyczne
PHP — metody statyczne
Metody statyczne można wywoływać bezpośrednio — bez wcześniejszego tworzenia instancji klasy.
Metody statyczne deklarowane są za pomocą static
słowa kluczowego:
Składnia
<?php
class ClassName {
public static function staticMethod() {
echo "Hello World!";
}
}
?>
Aby uzyskać dostęp do metody statycznej, użyj nazwy klasy, podwójnego dwukropka (::) i nazwy metody:
Składnia
ClassName::staticMethod();
Spójrzmy na przykład:
Przykład
<?php
class
greeting {
public static function
welcome() {
echo "Hello World!";
}
}
// Call static method
greeting::welcome();
?>
Przykład wyjaśniony
Tutaj deklarujemy metodę statyczną: welcome(). Następnie wywołujemy metodę statyczną, używając nazwy klasy, podwójnego dwukropka (::) i nazwy metody (bez wcześniejszego tworzenia instancji klasy).
PHP - Więcej o metodach statycznych
Klasa może mieć zarówno statyczne, jak i niestatyczne metody. Dostęp do metody statycznej można uzyskać z metody w tej samej klasie za pomocą self
słowa kluczowego i podwójnego dwukropka (::):
Przykład
<?php
class greeting {
public static function welcome() {
echo "Hello World!";
}
public function __construct()
{
self::welcome();
}
}
new
greeting();
?>
Metody statyczne można również wywoływać z metod z innych klas. Aby to zrobić, metoda statyczna powinna wyglądać następująco public
:
Przykład
<?php
class
greeting {
public static function
welcome() {
echo "Hello World!";
}
}
class
SomeOtherClass {
public function
message() {
greeting::welcome();
}
}
?>
Aby wywołać metodę statyczną z klasy podrzędnej, użyj parent
słowa kluczowego wewnątrz klasy podrzędnej. Tutaj metodą statyczną może być public
lub protected
.
Przykład
<?php
class domain {
protected static function
getWebsiteName() {
return "W3Schools.com";
}
}
class domainW3 extends domain {
public $websiteName;
public function __construct() {
$this->websiteName =
parent::getWebsiteName();
}
}
$domainW3 = new domainW3;
echo $domainW3 -> websiteName;
?>