2010-10-30 3 views
0

Следующий код соединяет мою базу данныхПеременная мне нужно использовать в других классах

var $connection; 

function MySQLDB(){ 
    $this->connection = mysql_connect(DB_SERVER, DB_USER, DB_PASS) or die(mysql_error()); 
    mysql_select_db(DB_NAME, $this->connection) or die(mysql_error()); 

и т.д. и т.п.

Этот код находится в классе под названием MySQLDb

В конце

$database = new MySQLDB; 

В этом классе я могу подключиться к вещам, используя

$this->connection 

Как получить доступ к этому соединению извне класса в другом классе? Благодаря

ответ

0

Добавить функцию в класс MySQLDb, который возвращает соединение

function GetConnection() { 
    return $this->connection; 
} 

затем позже:

$database = new MySQLDB; 
$myconn = $database->GetConnection(); // your connection 
+0

Смогу ли я использовать это в других сценариях? – sark9012

+0

Если скрипты включают в себя класс MySQLDB и предполагается, что соединение было открыто, почему бы и нет? – pinkfloydx33

+0

Да, они включают этот файл. – sark9012

0

Если $ соединение не помеченных как частный/защищенный, вы можете использовать $ связи непосредственно

$conn=$database->connection; 

$res=mysql_query("SELECT blabla", $conn); 

или

$res=mysql_query("SELECT blabla", $database->connection); 

но лучше значение использовать Синглтон рисунка на http://en.wikipedia.org/wiki/Singleton_pattern

+0

Это то, что я изначально использовал! – sark9012

Смежные вопросы