静的メソッドを使用する複数のクラスがあります。これらの関数は、次を使用してデータベースに接続します
$mysqli = new mysqli(DB_SERVER, DB_USER, DB_PASS, DB_NAME);
ここで、定数 DB_SERVER、DB_USER、DB_PASS、DB_NAME は、グローバルにアクセス可能なファイルで定義されたデータベース変数です。最近、私のサイトが遅くなり始め、スクリプトをプロファイリングした後、オブジェクト ($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 オブジェクトを一度作成して、それを必要とするすべての静的メソッドからアクセスできるようにする方法を誰かが教えてくれませんか。