Kiểu dữ liệu cho thuộc tính sẽ được giới thiệu trong phiên bản PHP 7.4

Cập nhật lần cuối vào

Kiểu dữ liệu cho thuộc tính (Typed Properties) là một trong những thay đổi lớn của PHP 7.4. Đây có thể nói là thay đổi lớn của ngôn ngữ PHP. Như bình thường bạn sẽ khai báo kiểu thuộc tính như ví dụ bên dưới:

class User {
    /** @var int $id */
    private $id;
    /** @var string $name */
    private $name;

    public function __construct(int $id, string $name) {
        $this->id = $id;
        $this->name = $name;
    }

    public function getId(): int {
        return $this->id;
    }
    public function setId(int $id): void {
        $this->id = $id;
    }

    public function getName(): string {
        return $this->name;
    }
    public function setName(string $name): void {
        $this->name = $name;
    }
}

Bây giờ, khi bạn viết code hướng đối tượng trên phiên bản PHP 7.4 sẽ làm như sau:

class User {
    public int $id;
    public string $name;

    public function __construct(int $id, string $name) {
        $this->id = $id;
        $this->name = $name;
    }
}

Cuối cùng, bên dưới là một số các ví dụ liên quan đến khai báo kiểu thuộc tính trong phiên bản PHP 7.4:

class Example {
    // All types with the exception of "void" and "callable" are supported
    public int $scalarType;
    protected ClassName $classType;
    private ?ClassName $nullableClassType;

    // Types are also legal on static properties
    public static iterable $staticProp;

    // Types can also be used with the "var" notation
    var bool $flag;

    // Typed properties may have default values (more below)
    public string $str = "foo";
    public ?string $nullableStr = null;

    // The type applies to all properties in one declaration
    public float $x, $y;
    // equivalent to:
    public float $x;
    public float $y;
}

Kể từ phiên bản PHP 7.0 người dùng đã được thấy rất nhiều thay đổi. Ngôn ngữ PHP ngày càng hoàn thiện hơn, hứa hẹn ngôn ngữ này không chỉ được sử dụng nhiều trong quá khứ, hiện tại mà còn được nhiều người dùng hơn nữa trong tương lai.

Theo dõi
Thông báo của
guest

0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận