PHP OOP - Phương thức tĩnh
PHP - Phương thức tĩnh
Phương thức static có thể được gọi trực tiếp - mà không cần tạo một thể hiện của lớp trước.
Các phương thức static được khai báo với static
từ khóa:
Cú pháp
<?php
class ClassName {
public static function staticMethod() {
echo "Hello World!";
}
}
?>
Để truy cập một phương thức tĩnh, hãy sử dụng tên lớp, dấu hai chấm (: :) và tên phương thức:
Cú pháp
ClassName::staticMethod();
Hãy xem một ví dụ:
Thí dụ
<?php
class
greeting {
public static function
welcome() {
echo "Hello World!";
}
}
// Call static method
greeting::welcome();
?>
Giải thích ví dụ
Ở đây, chúng tôi khai báo một phương thức tĩnh: welcome (). Sau đó, chúng ta gọi phương thức tĩnh bằng cách sử dụng tên lớp, dấu hai chấm (: :) và tên phương thức (mà không tạo một thể hiện của lớp trước).
PHP - Tìm hiểu thêm về các phương thức tĩnh
Một lớp có thể có cả phương thức tĩnh và phương thức không tĩnh. Một phương thức tĩnh có thể được truy cập từ một phương thức trong cùng một lớp bằng cách sử dụng self
từ khóa và dấu hai chấm (: :):
Thí dụ
<?php
class greeting {
public static function welcome() {
echo "Hello World!";
}
public function __construct()
{
self::welcome();
}
}
new
greeting();
?>
Các phương thức tĩnh cũng có thể được gọi từ các phương thức trong các lớp khác. Để làm điều này, phương thức tĩnh phải là public
:
Thí dụ
<?php
class
greeting {
public static function
welcome() {
echo "Hello World!";
}
}
class
SomeOtherClass {
public function
message() {
greeting::welcome();
}
}
?>
Để gọi một phương thức tĩnh từ một lớp con, hãy sử dụng parent
từ khóa bên trong lớp con. Ở đây, phương thức tĩnh có thể là public
hoặc protected
.
Thí dụ
<?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;
?>