У меня есть несколько классов, которые используют статические методы. Эти функции подключаются к базе данных с помощью
$mysqli = new mysqli(DB_SERVER, DB_USER, DB_PASS, DB_NAME);
где константы DB_SERVER, DB_USER, DB_PASS, DB_NAME являются переменными базы данных, определенными в глобально доступном файле. Недавно мой сайт начал медленно, и после профилирования script я понял, что вызов создания объекта ($ mysqli) вызывал эту проблему.
Большинство моих классов расширяются от mysqli, так что
public function __construct($user_id) {
parent::__construct(DB_SERVER, DB_USER, DB_PASS, DB_NAME);
$this->retrieve_user_details($user_id);
$this->check_user_account_type();
}
По моему мнению, статические методы НЕ НЕ используют метод __construct.
Может ли кто-нибудь направить меня на то, как я могу создать объект $mysqli один раз, чтобы он мог получить доступ ко всем статическим методам, которые его требуют.