Tôi có trang include.php mà tôi tải vào đầu mỗi trang của trang web của mình. Khi tôi phát triển trang web, số lượng lớp học mà tôi đang sử dụng ngày càng tăng. Vì vậy, tôi kết thúc với một cái gì đó như thế này:hiệu suất của việc tải các lớp học php và sử dụng 'mở rộng'
$db = new DB($config);
$login = new Login($db, $config);
$form = new Form($db, $config);
Và danh sách này tiếp tục và bật. Tôi có hai câu hỏi về thực tiễn này:
Đầu tiên, Xem xét tôi có thể không sử dụng một lớp học tại một trang nhất định (tôi có thể không có biểu mẫu $ trên mỗi trang), mức độ thực sự quan trọng, hiệu suất- khôn ngoan, để tải lớp này mỗi khi có trang nào được tải?
Thứ hai, bạn có thể nhận thấy rằng tôi đang chuyển cá thể lớp $ db đến tất cả các lớp khác, cũng như biến $ config. Trong đoạn code php của mỗi lớp, tôi làm điều gì đó như thế này:
public $db;
public $config;
public function __construct($db, $config, $smarty){
$this->db = $db;
$this->config = $config;
}
sau đó trong các phương pháp lớp học, tôi quyết các cơ sở dữ liệu và cấu hình tập tin với 'này' như vậy:
public function myfunction(){
$this->db;
$this->config;
}
Khi cần Tôi sử dụng 'mở rộng' thay vì chuyển $ db vào lớp, giả sử mỗi lớp sử dụng db? Không chuyển $ db cho mỗi lớp bị tổn thương trong bất kỳ cách nào về hiệu suất?
Cảm ơn!
Tuyệt vời và toàn diện! Cảm ơn nhiều. –
Bạn được chào đón :-) Hãy vui vẻ! –
Mở rộng các lớp học là một bí ẩn nhỏ đối với tôi trong một thời gian, đây là một lời giải thích tuyệt vời và đơn giản ngay lập tức làm cho nó rất rõ ràng đối với tôi khi sử dụng nó. – Kokos