Lập trình hướng đối tượng (OOP) với PHP
Từ PHP5 trở đi bạn có thể viết mã PHP theo kiểu hướng đối tượng (object-oriented programing).
PHP xử lý các đối tượng theo cách giống như tham chiếu hoặc xử lý, nghĩa là mỗi biến chứa một tham chiếu đối tượng chứ không phải bản sao của đối tượng.
Khái niệm cơ bản
Class
Các định nghĩa lớp cơ bản bắt đầu bằng từ khóa class, theo sau là tên lớp, tiếp đến là một cặp dấu ngoặc nhọn bao quanh các định nghĩa của các thuộc tính và phương thức thuộc lớp đó.
^[a-zA-Z_\x80-\xff][a-zA-Z0-9_\x80-\xff]*$.
Ví dụ 1: Định nghĩa một lớp đơn giản.
Chú ý: gọi một phương thức non-static sẽ tạo ra một lỗi. trước PHP 8.0.0, điều này sẽ tạo ra một thông báo không dùng nữa, và $this sẽ không được xác định.
Ví dụ 2: ví dụ về biến giả $this
Output trên PHP 7:
$this is defined (A)Deprecated: Non-static method A::foo() should not be called statically in %s on line 27 $this is not defined.
Deprecated: Non-static method A::foo() should not be called statically in %s on line 20 $this is not defined.
Deprecated: Non-static method B::bar() should not be called statically in %s on line 32
Deprecated: Non-static method A::foo() should not be called statically in %s on line 20 $this is not defined.
Output trên PHP 8:
$this is defined (A)Fatal error: Uncaught Error: Non-static method A::foo() cannot be called statically in %s :27
Stack trace:
#0 {main}
thrown in %s on line 27
new
Để instance một class, từ khóa new phải được sử dụng. Một đối tượng sẽ luôn được tạo trừ khi đối tượng đó có một phương thức khởi tạo được xác định để đưa một ngoại lệ vào lỗi. Các lớp nên được xác định trước khi khởi tạo (và trong một số trường hợp đây là một yêu cầu).
Ghi chú :
Nếu không có đối số nào được chuyển đến phương thức khởi tạo của lớp, dấu ngoặc đơn sau tên lớp có thể bị bỏ qua.



Nhận xét
Đăng nhận xét