Автор Тема: Конструктор или паблик-методы класса?  (Прочитано 2141 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн MHS

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 2
  • +0/-0
  • 0
    • Просмотр профиля
    • http://developer.com.ua
Доброго времени суток..Тут один вопросик возник к профи-кодерам.Есть класс для работы с БД(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]

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Конструктор или паблик-методы класса?
« Ответ #1 : 08 Марта 2004, 11:41:48 »
MHS
ИМХО проблема надуманая. Если нужно будет тебе менять базу в текущем соединении, ну так сделай соответствующий методж public. Или сделай дополн. публичны метод:  function SelectDB($dbname) {
   
$this->_select_db($dbname);
}
По поводу его совета - наверное такой подход будет более удобным с точки зрения написания ПХП-кода. Горазд проще и быстрее написать  $conn = & new Mysql(......);  чем писать $conn = & new Mysql(); 
$conn->connect(......);
$conn->select_db($dbname);
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28