このようなコードを見てください。データベースのシングルトンインスタンスを使用しますが、クラスのインスタンスを作成することもできます。
class DB
{
private static $_db;
public static function pdo()
{
if (is_null(self::$_db))
{
self::$_db=new PDO('pgsql:host=localhost;
port=5432;
dbname=testdb;
user=postgres;
password=abc123');
self::$_db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
return self::$_db;
}
public static function factory()
{
return new self;
}
private function __construct() {}
DBのインスタンスが必要な場合は、を実行しますDB::factory()。DBはself::pdo()、データベースにアクセスするためにシングルトンを返すために使用します。