Giới thiệu
Class (lớp) là kiểu dữ liệu do người dùng định nghĩa trong PHP. Để định nghĩa một lớp mới, PHP cung cấp từ khóa class, theo sau là tên lớp. Bất kỳ nhãn hợp lệ theo quy ước đặt tên PHP (trừ từ khóa dành riêng) đều có thể dùng làm tên lớp. Các thành phần của lớp được định nghĩa trong cặp ngoặc nhọn theo sau tên lớp.
Cú pháp
class myclass {
//
}
Lớp có thể chứa hằng số (constants), biến/thuộc tính (properties) và phương thức (methods - tương tự hàm).
Ví dụ định nghĩa lớp
<?php
class myclass {
const MYCONSTANT = 100;
public $var1 = "Hello";
function dispvar() {
echo $this->var1;
}
}
?>
Hàm được định nghĩa bên trong lớp gọi là phương thức. Ngữ cảnh đối tượng gọi có sẵn bên trong phương thức với pseudo-variable $this. Nếu phương thức được định nghĩa là static, nó được truy cập qua tên lớp. Gọi phương thức non-static theo kiểu static đã bị deprecated từ PHP 7.
Toán tử new khai báo đối tượng mới của lớp cho trước. Tên lớp theo sau bởi cặp ngoặc đơn nên đặt sau từ khóa new. Một đối tượng chưa khởi tạo (hoặc với giá trị mặc định cho thuộc tính) được tạo nếu không có đối số trong ngoặc đơn. Nếu lớp cung cấp constructor có tham số, số lượng đối số khớp phải được cung cấp. Lớp phải được định nghĩa trước khi tạo instance (đối tượng).
Ví dụ tạo đối tượng và gọi phương thức
<?php
class myclass {
const MYCONSTANT = 100;
public $var1 = "Hello";
function dispvar() {
echo $this->var1;
}
}
$obj = new myclass();
$obj->dispvar();
?>
Kết quả
Hello