Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> PHP

Thuộc tính lớp (Class Properties) trong PHP

Giới thiệu

Data member khai báo bên trong class gọi là properties (thuộc tính). Đôi khi gọi là attribute hoặc field. Trong PHP, property được qualifie bởi một trong các access specifier: public, private hoặc protected. Tên property có thể là bất kỳ label hợp lệ nào trong PHP. Giá trị property có thể khác nhau cho mỗi instance của class. Đó là lý do nó đôi khi gọi là instance variable.

Bên trong bất kỳ instance method nào, property truy cập được qua context của object có sẵn dưới dạng pseudo-variable $this. Nếu property khai báo public, nó khả dụng cho object với toán tử ->. Nếu property khai báo với từ khóa static, giá trị được chia sẻ giữa tất cả object của class và truy cập bằng scope resolution operator (::) và tên class.

Khai báo và truy cập property

Ví dụ

<?php
class MyClass {
    private $fname = "Kiran";
    public $mname = "Pratap";
    static $lname = "Singh";
    function dispdata() {
        echo "$this->fname\n";
        echo "$this->mname\n";
        echo MyClass::$lname;
    }
}
$obj = new MyClass();
$obj->dispdata();
?>

Kết quả

Kiran
Pratap
Singh

Bên ngoài class, instance property public truy cập được qua object, nhưng private không. Trong phiên bản PHP trước, từ khóa var dùng cho property declaration. Dù đã deprecated, vẫn khả dụng cho backward compatibility và được coi là public declaration.

Type declaration cho property (PHP 7.4+)

PHP 7.4 giới thiệu type declaration cho property variable:

<?php
class MyClass {
    private string $name;
    private int $age;
    function setdata(string $x, int $y) {
        $this->name = $x;
        $this->age = $y;
    }
}
$obj = new MyClass();
$obj->setdata("Kiran", 20);
?>