kiltum (kiltum) wrote,
kiltum
kiltum

[sscms] 3

Обертка, которая обеспечивает доступ до SQL.
    1  <?php
     2  require_once("config.php");
     3  require_once("log.php");
       
     4  class SQL{ //wrapper for sql engines
     5          var $engine;
     6
     7          function SQL() {
     8          $config=new Config();
     9          $conf=$config->getconfig();
    10          switch($conf["sql"]["engine"]) {
    11                  case "mysql":
    12                  require_once("mysql.php");
    13                          $this->engine=new MySQL();
    14                          break;
    15                  default:
    16                  $log=new Log();
    17                  $log->Add("Cannot choice storage engine.'".$conf["sql"]["engine"]."' is not valuable choice");
    18                  exit(1);
    19                  }
    20                  }
    21          function query($query) {
    22                  return $this->engine->query($query);
    23                  }
    24          function fetch() {
    25                  return $this->engine->fetch();
    26                  }
    27          function clean() {
    28                  return $this->engine->clean();
    29                  }
    30          }
    31  ?>


2-3 - подключаем классы config и log, ежели их еще нет.
7-20 - конструктор класса. должен в $engine подцепить тот "низкоуровневый" интерфейс к sql, который мы пожелали.
11-14 - это если мы выбрали mysql
15-19 - так как больше никаких оберток я не писал, то в случае непонятного просто пишем в лог соообщение об ошибке и вываливаемся.
21-30 - просто тупые переадресаторы вызовов.

P.S. Да, я знаю, что 12я строка некрасива. Но зато позволит сэкономить кучу времени на интерпретацию ненужных нам классов.
Subscribe
  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 8 comments