Классы для BD

Pegiy

Guest
Классы для BD

Достаточно долго использовал приведенный ниже способ доступа к базе, но в последнее время возник вопрос, а не является ли этот способ кривым.

Использую класс db
PHP:
function db() 
    {
	global $cfgType, $cfgServer, $id_connect;
	if (isset($id_connect))
	  $this->id_connect = $id_connect;
	$this->msg_error = $msgError;
	$this->host = $cfgServer [$cfgType]['host'];
	$this->database = $cfgServer [$cfgType]['database'];
	$this->user = $cfgServer [$cfgType]['user'];
         $this->password = $cfgServer [$cfgType]['password'];
    }
function connect() ;
function close(); 
function query();
....

класс BASE:

class BASE
  {

  function base() 
    {
	$this->db = new DB;
    }
function setId($id);
function setOrder($order);
function setWhere();
function setSql($sql);
function get(); 
function getId();
вообщем ряд стандартных запросов
и различные классы в которым, собственно, все это и нужно
например:
PHP:
class MARK extends BASE
 {
   function mark() 
    {
	parent::base();
	$this->source = "marks";
    }
}
Соответственно в программе подключаются эти классы, вызывается
$db = new DB;
$id_connect = $db->connect();
и дальше различные методы.
 

Demiurg

Guest
а зачем в классе обьявлять глобальные переменные ?
и вообще есть стандартные оболочки для бд тот же PEAR например
 

Pegiy

Guest
Автор оригинала: Demiurg
а зачем в классе обьявлять глобальные переменные ?
порказалось что так будет удобнее
и вообще есть стандартные оболочки для бд тот же PEAR например
исторически сложилось

сейчас возникло ощущение что тормозят не сами запросы, а классы. Перед тем как перейти на что-нибудь достойное хотелось бы узнать в чем была мой ошибка.
 

Demiurg

Guest
>порказалось что так будет удобнее
это в прнципе не правильно. Класс должен взаимодействовать со внешним миром посредстом своего интерфейса и только.
 
Сверху