PDA

View Full Version : سوال: ایجاد یک شی ارتباط با دیتابیس برای برنامه و تعدادی از کلاس ها



numberone1
چهارشنبه 25 تیر 1393, 11:20 صبح
سلام
من توی برنامم از چند تا کلاس استفاده میکنم
هر کدوم از کلاس ها یک متد سازنده دارن که ارتباط با دیتابیس و داخل خودشون میسازن و از اون استفاده میکنند
میخواستم کاری کنم که این ارتباط فقط 1 بار ایجاد بشه و کل کلاس ها و برنامه کلا همه از همین شی استفاده کنن
مثلا یک صفحه به نام db.php ایجاد کنم و یک اتصال PDO داخلش تعریف کنم
ولی مشکل اینجاست که مثلا من این صفحه رو اگر داخل کلاس session handler اضافه کنم , خود این کلاس session handler داخل صفحات دیگه هم include میشه و باعث میشه شی دوباره ایجاد بشه
ممنون میشم کمک کنید
صفحه db.php


class Config {
public $driver = 'sqlsrv';
public $dbhost = '127.0.0.1';
public $dbuser = 'aaa';
public $dbpass = 'aaa';
public $dbname = 'aaaa';
}
class database {
private static $instance;
private $stmt;
private $error = array();
private $sentinel = 1;
private $affectedRows = 0;
private $countRows = 0;
private function __construct() {
if(!self::$instance) {
try {
$config = new Config();
self::$instance = new PDO($config->driver.":Server=".$config->dbhost.';Database='.$config->dbname, $config->dbuser, $config->dbpass);
}
catch (Exception $e) {
throw new Exception('Cannot connect.');
}
}
return self::$instance;
}
public static function getInstance() {
return new self;
}


متد construct کلاس session_handler


private function connect() {
اینجا چجوری شی از کلاس دیتابیس ایجاد کنم؟
}

numberone1
چهارشنبه 25 تیر 1393, 12:18 عصر
خودم حلش کردم