Мастер класс по MySQLi & ООП от Кирилла

Объектно-ориентированное программированиеОбъектно-ориентированное программирование
В данной статье я вам покажу класс для работы с MySQLi
Вижу много тут стало тем типо ООП то ООП се и на самом деле многие даже близко элементарные классы функции каскады даже не знают как пи шиться и для чего они нужны
За то говорят ООП так серьезно даже сами верят в свой говно код.
PS. Не в обиду не кому конечно! просто подучите немного почитайте вам же это поможет!
Я конечно не горжусь и не хвастаюсь тем что я знаю прекрасно все языки и стили программирования но и скажу так знаю тоже не мало. Короче меньше слов больше дела, и так начнем.

<?PHP
      //////////////////////////////////////////////////////////
      $dbOptions = array(
          'db_host' => '', // HOST подключения обычно "localhost"
          'db_user' => '', // Имя пользователя
          'db_pass' => '', // Пароль пользователя
          'db_name' => ''  // Название базы данных
        );
      //////////////////////////////////////////////////////////

      // Полетели;)
      class db {
          private static $instance;
          private $MySQLi;
          // Конструктор класса db
          private function __construct(array $dbOptions){
          // Подключение к серверу MySQL
          $this->MySQLi = @ new mysqli($dbOptions['db_host'],
                                       $dbOptions['db_user'],
                                       $dbOptions['db_pass'],
                                       $dbOptions['db_name']
                                    );
              // Обработка подключения на сбои
              if(mysqli_connect_errno()):
                  throw new Exception('Ошибка базы данных.');
              endif;
              // Кодировка по умолчанию
              $this->MySQLi->set_charset("utf8");
            }

          // Осуществляем безопасный вызов
          public static function init(array $dbOptions){
              if(self::$instance instanceof self):
                  return false;
              endif;
              self::$instance = new self($dbOptions);
            }

          // Кто знает тот поймет
          public static function getMySQLiObject(){
              return self::$instance->MySQLi;
            }

          // Посылаем запрос в БД
          public static function query($q){
              return self::$instance->MySQLi->query($q);
            }

          // Присекам все попытки SQL Injection
          public static function esc($str){
              return self::$instance->MySQLi->real_escape_string(htmlspecialchars($str));
            }
        }

        // Подключение
        db::init($dbOptions);
        
        // Запрос
        $name = db::query("SELECT `ЯЧЕЙКА` FROM `ТАБЛИЦА` WHERE `ЯЧЕЙКА`='ДАННЫЕ'");
        $base = $name->fetch_object();
        echo $base->ЯЧЕЙКА;

Зы. Это только пример, тут нет не отключения не отчисти памяти!

Автор публикации

не в сети 13 лет

kirill

Комментарии: 0Публикации: 8Регистрация: 05-04-2011

Понравилась статья? Поделись в соц. сетях:

Похожие новости

Отправить комментарий

wpDiscuz
Авторизация
*
*
Регистрация
*
*
*
Генерация пароля