PHP OOP - Statik Yöntemler
PHP - Statik Yöntemler
Statik yöntemler doğrudan çağrılabilir - önce sınıfın bir örneğini oluşturmadan.
Statik yöntemler, static
anahtar kelime ile bildirilir:
Sözdizimi
<?php
class ClassName {
public static function staticMethod() {
echo "Hello World!";
}
}
?>
Statik bir yönteme erişmek için sınıf adını, iki nokta üst üste (::) ve yöntem adını kullanın:
Sözdizimi
ClassName::staticMethod();
Bir örneğe bakalım:
Örnek
<?php
class
greeting {
public static function
welcome() {
echo "Hello World!";
}
}
// Call static method
greeting::welcome();
?>
Örnek Açıklama
Burada statik bir metot ilan ediyoruz: hoşgeldiniz(). Ardından, sınıf adını, iki nokta üst üste (::) ve yöntem adını (önce sınıfın bir örneğini oluşturmadan) kullanarak statik yöntemi çağırırız.
PHP - Statik Yöntemler Hakkında Daha Fazlası
Bir sınıf hem statik hem de statik olmayan yöntemlere sahip olabilir. Statik bir metoda, aynı sınıftaki bir metoddan, self
anahtar kelime ve iki nokta üst üste (::) kullanılarak erişilebilir:
Örnek
<?php
class greeting {
public static function welcome() {
echo "Hello World!";
}
public function __construct()
{
self::welcome();
}
}
new
greeting();
?>
Statik yöntemler, diğer sınıflardaki yöntemlerden de çağrılabilir. Bunu yapmak için statik yöntem şöyle olmalıdır public
:
Örnek
<?php
class
greeting {
public static function
welcome() {
echo "Hello World!";
}
}
class
SomeOtherClass {
public function
message() {
greeting::welcome();
}
}
?>
Bir alt sınıftan statik bir yöntem çağırmak için alt sınıfın parent
içindeki anahtar sözcüğü kullanın. Burada, statik yöntem public
veya olabilir protected
.
Örnek
<?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;
?>