JavaScript is required

Xem đoạn mã lệnh sau đây. Sau khi thực hiện đoạn mã trên kết quả
hiển thị sẽ là gì?
class A
{
};
class B1 extends A
{
};
class_alias('A', 'B2');
$b1 = new B1;
echo get_class($b1);
$b2 = new B2;
echo get_class($b2);
?>

A.
B1A
B.
B2A
C.
B1B2
D.
It will throw an error.
Trả lời:

Đáp án đúng: A


Đoạn mã PHP định nghĩa một lớp `A`, sau đó lớp `B1` kế thừa từ lớp `A`. Hàm `class_alias('A', 'B2')` tạo một bí danh (alias) cho lớp `A`, gọi là `B2`. Khi tạo một đối tượng `$b1` từ lớp `B1`, `get_class($b1)` sẽ trả về tên lớp thực tế của đối tượng, là `B1`. Khi tạo một đối tượng `$b2` từ lớp `B2` (thực chất là lớp `A` do alias), `get_class($b2)` sẽ trả về tên lớp thực tế của đối tượng, là `A`. Vậy, kết quả hiển thị sẽ là `B1A`.

Câu hỏi liên quan