tôi đang tìm kiếm thông qua các tài liệu PHP và thấy một số ý kiến mà một biến được khởi tạo bên ngoài của nhà xây dựng của một lớp, tương tự như sau:biến khởi tạo bên ngoài của PHP constructor
classMyClass {
private $count = 0;
public function __construct() {
//Do stuff
}
}
Trong Objects PHP, Patterns, và Thực hành, tác giả đề xuất chỉ sử dụng cấu trúc cho việc khởi tạo thuộc tính, trì hoãn bất kỳ việc nâng hạng nặng hoặc logic phức tạp nào lên các phương pháp chuyên ngành. Hướng dẫn này (ví dụ nhanh mà tôi tìm thấy trên Google) cũng khuyên bạn nên sử dụng các hàm tạo để khởi tạo các thuộc tính: http://www.killerphp.com/tutorials/object-oriented-php/php-objects-page-3.php.
Tại sao bạn muốn khởi tạo biến bên ngoài hàm tạo? Đây có phải chỉ là mã hóa cẩu thả, hay có lý do để làm điều gì đó như thế này? Tôi phải nói rằng cho đến gần đây, tôi đã khởi tạo các giá trị mặc định bên ngoài hàm khởi tạo, và dường như không có bất kỳ lợi thế có lập trình nào của một cách so với cách khác.
Đó chỉ là thực hành lập trình tốt. – Brian
khi bạn chỉ muốn khởi tạo các biến đơn giản, nó khá rõ ràng khi thực hiện bên ngoài hàm tạo, để khởi tạo phức tạp hơn sử dụng hàm tạo –
Ví dụ bạn đã đăng đang cung cấp giá trị mặc định cho biến số đếm $. Một ý tưởng hay là cung cấp một giá trị mặc định - theo cách này bạn sẽ biết những gì cần kiểm tra để tìm hiểu xem việc gán trong constructor của bạn hay ở nơi khác đã thành công. – blearn