私は現在、次のようにシングルトンを使用するデータベースラッパーを持っています。
class Database {
private static $db;
public static function getInstance() {
if(!self::$db) {
self::$db = new PDO();
}
return self::$db;
}
}
静的に呼び出したいメソッドがいくつかあるUserクラスもありますが、データベース接続が必要です。これは次のように実行しています。
class User {
private static $db;
public function __construct() {
self::$db = Database::getInstance();
}
public static function someMethod() {
self::$db->someQuery();
}
}
User::someMethod();
私の質問は、複数のDB接続を作成せずに、シングルトンの代わりに依存性注入を使用して同じことをどのように達成するかということです。