2012-07-02 35 views
8

Tôi đang quản lý trang web có khung tùy chỉnh, được phát triển bởi một số lập trình viên không còn làm việc trong công ty nữa. Trong một số phần của mã, tôi đã thấy điều này:Cú pháp này phải làm gì?

$class = 'PagesControl'; 
$obj = clone new $class(); 

Điều này phải làm gì? Tại sao bạn sẽ sao chép một đối tượng được tạo ra như thế?

+0

Object Cloning: http://php.net/manual/en/language.oop5 .cloning.php – HanhNghien

Trả lời

7

Có lẽ họ có một số thiết lập lạ trong phương pháp __clone() mà cần phải được gọi là chỉ sau instatiation nhưng nó sẽ là vô nghĩa. Nếu lớp PagesControl không có phương pháp __clone(), chỉ cần mang ra khỏi clone, nếu không đặt mã đó là hiện diện trong __clone() phương pháp bên trong __construct()

12

Không, điều đó là vô nghĩa.

Nó nên là:

$class = 'PagesControl'; 
$obj = new $class(); 

Và nếu $ lớp là cố định, sau đó nó nên $obj = new PagesControl();

Các vấn đề liên quan