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), bạn sử dụng từ khóa new
theo sau là tên của lớp. Cú pháp đúng là $object = new ClassName();
hoặc $object = new ClassName;
(nếu không có tham số cho constructor). Trong trường hợp này, tên lớp là "foo".
- Đáp án 1:
$obj = new $foo;
sử dụng$foo
, điều này có nghĩa là PHP sẽ hiểu$foo
là một biến chứa tên của lớp, chứ không phải là tên lớp trực tiếp. Vì vậy, đáp án này không chính xác trong ngữ cảnh câu hỏi. - Đáp án 2:
$obj = new foo;
là một cú pháp đúng để khởi tạo đối tượng từ lớpfoo
nếu lớpfoo
không có constructor hoặc constructor không yêu cầu tham số. - Đáp án 3:
$obj = new foo ();
là một cú pháp đúng để khởi tạo đối tượng từ lớpfoo
. Dấu ngoặc đơn()
cho biết việc gọi constructor của lớp. - Đáp án 4:
obj = new foo ();
thiếu dấu$
ở phía trướcobj
, điều này sẽ gây ra lỗi cú pháp trong PHP.
Như vậy, cả đáp án 2 và 3 đều đúng. Tuy nhiên, đáp án 3 tường minh hơn về việc gọi constructor, nên được ưu tiên hơn nếu có sự lựa chọn.