Các lớp và đối tượng được sử dụng để làm cho mã của bạn hiệu quả hơn và ít lặp lại hơn bằng cách nhóm các tác vụ tương tự. Một lớp được sử dụng để xác định các hành động và cấu trúc dữ liệu được sử dụng để xây dựng các đối tượng. Các đối tượng sau đó được xây dựng bằng cách sử dụng cấu trúc được xác định trước này
Một lớp PHP được định nghĩa bằng cách sử dụng từ khóa class
. Sau đây là một ví dụ về một lớp. Khi định nghĩa một lớp, bạn cung cấp tên của các thuộc tính và mã cho các phương thức của nó
class People { // These are the class properties public $name; public $country;
// These are the class methods function set_name[$name] { $this->name = $name; } function get_name[] { return $this->name; } function set_country[$country] { $this->country = $country; } function get_country[] { return $this->country; } }
Đối tượng PHP
Một lớp PHP là vô dụng nếu không có đối tượng. Một đối tượng PHP là một thể hiện của một lớp. Dữ liệu được liên kết với một đối tượng được gọi là thuộc tính của nó; . Các đối tượng được tạo bằng từ khóa new
. Bây giờ hãy tạo một thể hiện của lớp mà chúng ta đã tạo
class People { // These are the class properties public $name; public $country;
// These are the class methods function set_name[$name] { $this->name = $name; } function get_name[] { return $this->name; } function set_country[$country] { $this->country = $country; } function get_country[] { return $this->country; } }
// new instance of the People[] class $alex = new People[]; // called the methods of the class $alex->set_name['Alexander']; $alex->set_country['UK']; // accessing the object properties echo "Name: " . $alex->get_name[]; echo "
"; echo "Country: " . $alex->get_country[];
Tập thể dục
Tạo một lớp có tên là Car
với các thuộc tính của nó là name
và year
. Tạo các hàm lớp set_name[]
,
$message = [is_today_friday[]] ? "Happy Friday" : "It's not friday";
/* $message will be Happy Friday if is_today_friday[] returns true, or It's not friday otherwise */
//Exactly the same as
if[is_today_friday[]] {
$message = "Happy Friday";
} else {
$message = "It's not friday";
}
0,
$message = [is_today_friday[]] ? "Happy Friday" : "It's not friday";
/* $message will be Happy Friday if is_today_friday[] returns true, or It's not friday otherwise */
//Exactly the same as
if[is_today_friday[]] {
$message = "Happy Friday";
} else {
$message = "It's not friday";
}
1 và class People { // These are the class properties public $name; public $country;
// These are the class methods function set_name[$name] { $this->name = $name; } function get_name[] { return $this->name; } function set_country[$country] { $this->country = $country; } function get_country[] { return $this->country; } }
0. Các chức năng này nên tự giải thích [e. g get_name lấy tên và set_name đặt tên xe]. Tạo một thể hiện của lớp của bạn với tên đối tượng, class People { // These are the class properties public $name; public $country;
// These are the class methods function set_name[$name] { $this->name = $name; } function get_name[] { return $this->name; } function set_country[$country] { $this->country = $country; } function get_country[] { return $this->country; } }
1. Đặt tên là class People { // These are the class properties public $name; public $country;
// These are the class methods function set_name[$name] { $this->name = $name; } function get_name[] { return $this->name; } function set_country[$country] { $this->country = $country; } function get_country[] { return $this->country; } }
2 và năm là class People { // These are the class properties public $name; public $country;
// These are the class methods function set_name[$name] { $this->name = $name; } function get_name[] { return $this->name; } function set_country[$country] { $this->country = $country; } function get_country[] { return $this->country; } }
3. In tên và năm bằng cách truy cập thuộc tính của đối tượng. In bằng định dạng. Tên - Năm$var [đơn đô la] là một biến thông thường có tên var lưu trữ bất kỳ giá trị nào như chuỗi, số nguyên, float, v.v.
$$var [đô la kép] là một biến tham chiếu lưu trữ giá trị của biến $ bên trong nóĐể hiểu rõ hơn về sự khác biệt, hãy xem một số ví dụ
ví dụ 1
đầu ra
Trong ví dụ trên, chúng ta đã gán giá trị cho tên biến Cat. Giá trị của biến tham chiếu ${$name} được gán là Dog và ${${$name}} là Monkey
Vì vậy, nếu getBodyClass[] trả về chuỗi sản phẩm Tập lệnh sẽ lặp lại class=“product”, nếu getBodyClass[] không trả về gì thì nó sẽ không lặp lại gì và không thay đổi lớp HTML
Điều tương tự có thể được viết như thế này
getBodyClass[]] {
echo ' class="' . $this->getBodyClass[] . '"';
//example
// class="product"
}
Ví dụ bậc ba
$message = [is_today_friday[]] ? "Happy Friday" : "It's not friday";
/* $message will be Happy Friday if is_today_friday[] returns true, or It's not friday otherwise */
//Exactly the same as
if[is_today_friday[]] {
$message = "Happy Friday";
} else {
$message = "It's not friday";
}