単一の Web サイトに対して DB 接続を使用して PDO クラスを作成しましたが、実際には複数の Web サイトで同じクラスを使用する必要があります。
クラスで何かを変更すると、変更は1つだけでなくすべてのWebサイトに反映されますが、これら2つのWebサイトは引き続き2つの別々のDBを使用します
私の問題を解決する方法、またはどこから調べればよいかアドバイスをいただけませんか
例えば
core\ classes \ product.class.php
Web_1
-databass.class.php for Web_1 using the core\classes\
Web_2
-databass.class.php for Web_2 using the core\classes\
これは私のコードの一部です
ファイル dbConfig.php
<?php
define('DB_TYPE', 'mysql');
define('USER_NAME', 'test');
define('USER_PASSWORD', '********');
define('HOSTNAME', 'localhost');
define('DB_NAME', 'test_db');?>
ファイルdatabase.class.php
<?php
include_once($_SERVER['DOCUMENT_ROOT'] . 'dbConfig.php');
class DatabasePDO
{
private static $_instance = array();
static function getInstance ($dbName = DB_NAME)
{
if (! array_key_exists($dbName, self::$_instance)) {
$dsn = DB_TYPE . ":host=" . HOSTNAME . ";dbname=" . $dbName;
try {
self::$_instance[$dbName] = new PDO($dsn, USER_NAME, USER_PASSWORD);
self::$_instance[$dbName]->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
echo "echo "Error!: " . $e->getMessage();
die();
}
}
return self::$_instance[$dbName];
}
}?>
ファイル product.class.php
<?php
require_once "databass.class.php";
class products_CLS
{
private $pid = null;
private $title = '';
private static $dbConn = null;
public function __construct ()
{
self::initializeConnection();
}
private static function initializeConnection ()
{
if (is_null(self::$dbConn)) {
self::$dbConn = DatabasePDO::getInstance();
}
}
/**
* @return the $productid
*/
public function getProductId()
{
return $this->pid;
}
/**
* @return the $producttitle
*/
public function getProductTitle()
{
return $this->title;
}
}?>