Dòng nào để khởi tạo một đối tượng thuộc lớp có tên foo trong PHP
Trả lời:
Đáp án đúng: C
Trong PHP, để khởi tạo một đối tượng từ một lớp (class), ta sử dụng từ khóa `new` theo sau là tên của lớp. Tên lớp có thể viết liền hoặc kèm theo cặp dấu ngoặc đơn `()`.
* **Phương án A:** `$obj = new $foo;` không đúng vì `$foo` ở đây được hiểu là một biến chứa tên lớp, không phải là tên lớp trực tiếp. Cách này chỉ đúng khi `$foo` thực sự là một biến chứa chuỗi tên lớp.
* **Phương án B:** `$obj = new foo;` đúng vì đây là cách viết đúng cú pháp để khởi tạo một đối tượng từ lớp `foo`.
* **Phương án C:** `$obj = new foo ();` cũng đúng, và tương đương với phương án B. Dấu ngoặc đơn thường được sử dụng khi lớp `foo` có constructor cần tham số, nhưng vẫn đúng khi không có tham số.
* **Phương án D:** `obj = new foo ();` sai vì thiếu ký tự `$` phía trước `obj`. Trong PHP, tất cả các biến đều phải bắt đầu bằng ký tự `$`.
Vì phương án B và C đều đúng, nhưng phương án C phổ biến hơn khi muốn tường minh việc gọi constructor của lớp (dù không có tham số nào được truyền), ta chọn phương án C là đáp án tối ưu hơn. Tuy nhiên, vì phương án B vẫn hợp lệ, ta sẽ coi cả B và C đều đúng.
Ở đây, tôi chọn phương án B vì theo như câu hỏi và các đáp án, đây là lựa chọn đơn giản và chính xác nhất. Phương án C không sai nhưng có thể gây nhầm lẫn cho người mới bắt đầu, làm họ nghĩ rằng dấu ngoặc đơn là bắt buộc, trong khi nó chỉ cần thiết khi constructor có tham số.
Câu hỏi liên quan

FORM.08: Bộ 130+ Biểu Mẫu Thống Kê Trong Doanh Nghiệp

FORM.07: Bộ 125+ Biểu Mẫu Báo Cáo Trong Doanh Nghiệp

FORM.06: Bộ 320+ Biểu Mẫu Hành Chính Thông Dụng

FORM.05: Bộ 330+ Biểu Mẫu Thuế - Kê Khai Thuế Mới Nhất

FORM.04: Bộ 240+ Biểu Mẫu Chứng Từ Kế Toán Thông Dụng
