Khoá học: Thiết lập dự án Wordpress

Nếu bạn đang tìm kiếm một cách nhanh chóng và hiệu quả để thiết lập một trang web cá nhân hoặc doanh nghiệp của mình, hãy bắt đầu với WordPress. Được coi là nền tảng quản lý nội dung (CMS) phổ biến nhất trên thế giới, WordPress cho phép bạn dễ dàng tạo ra một [...]

PHP Phương thức tĩnh (Static Method) trong PHP

Phương thức tĩnh (static method) là gì ?

– Đối với lập trình hướng đối tượng trong PHP, “phương thức tĩnh” là loại phương thức có thể được gọi trực tiếp mà không cần phải tạo một đối tượng từ lớp chứa phương thức đó.

– Trong một lớp, phương thức tĩnh được khai báo bởi từ khóa static.

<?php
	class ClassName{
		public static function staticMethod(){
			echo "Chào cả nhà";
		}
	}
?>

– Khi muốn truy cập một phương thức tĩnh thì chúng ta sử dụng tên lớp, theo sau là cặp dấu hai chấm :: và tên phương thức tĩnh.

ClassName::staticMethod();

– Phương thức welcome() trong lớp Greeting là một phương thức tĩnh.

– Ở câu lệnh cuối cùng, các bạn thấy tôi gọi đến phương thức welcome() mà không cần phải tạo một đối tượng từ lớp Greeting.

<?php
	class Greeting{
		public static function welcome(){
			echo "Chào cả nhà";
		}
	}
	Greeting::welcome();
?>

Tìm hiểu thêm về phương thức tĩnh

– Trong một lớp có thể có cả phương thức tĩnh & phương thức không tĩnh (tức là các phương thức thông thường), một phương thức tĩnh có thể được truy cập từ một phương thức khác trong cùng lớp bằng cách sử dụng từ khóa self và dấu hai chấm ::

<?php
	class Greeting{
		public static function welcome(){
			echo "Chào cả nhà";
		}
		public function __construct(){
			self::welcome();
		}
	}
	$a = new Greeting();
?>

– Các phương thức tĩnh cũng có thể được truy cập từ các phương thức trong các lớp khác, để thực hiện được điều đó thì các phương thức tĩnh phải có phạm vi truy cập là public.

<?php
	class Greeting{
		public static function welcome(){
			echo "Chào cả nhà";
		}
	}
	class Hello{
		public function __construct(){
			Greeting::welcome();
		}
	}
	$a = new Hello();
?>

– Để truy cập một phương thức tĩnh từ lớp con, các bạn hãy sử dụng tử khóa parent bên trong lớp con. Nhưng các bạn cần phải lưu ý ở trường hợp này, phương thức tĩnh phải có phạm vi truy cập là public hoặc protected.

<?php
	class Greeting{
		protected static function welcome(){
			echo "Chào cả nhà";
		}
	}
	class Hello extends Greeting{
		public function __construct(){
			parent::welcome();
		}
	}
	$a = new Hello();
?>

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *