Forum Webscript.Ru
Программирование => PHP => Тема начата: MHS от 08 Марта 2004, 03:03:38
-
Доброго времени суток..Тут один вопросик возник к профи-кодерам.Есть класс для работы с БД(mySQL):
class mysql {
function connect{
//функция коннекта с БД
}
function select_db{
//функция выбора БД
}
}
Недавно один мой знакомый-программист настоятельно посоветовал мне сделать методы [connect] и [select_db]как private и вызвать их неспоредственно в конструкторе.После этого код выглядит примерно так:
class mysql {
function mysql{
//конструктор класса mysql
$this->_connect();
$this->_select_db();
}
function _connect{
//функция коннекта с БД
}
function _select_db{
//функция выбора БД
}
}
Теперь сам вопрос, рационально ли выносить эти два метода в конструктор?Ведь если мне нужно например выбрать другую БД - при этом же коннекте - мне прийдется создавать новую инстанцию класса [db]
-
MHS
ИМХО проблема надуманая. Если нужно будет тебе менять базу в текущем соединении, ну так сделай соответствующий методж public. Или сделай дополн. публичны метод: function SelectDB($dbname) {
$this->_select_db($dbname);
}По поводу его совета - наверное такой подход будет более удобным с точки зрения написания ПХП-кода. Горазд проще и быстрее написать $conn = & new Mysql(......); чем писать $conn = & new Mysql();
$conn->connect(......);
$conn->select_db($dbname);