Advertisement
grinyam

Untitled

Jan 17th, 2017
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.24 KB | None | 0 0
  1. <?php
  2.   /*
  3.     Особый смысл в создание интерфейса и трейта не вкладывал, сделал просто потому
  4.     что могу
  5.   */
  6.  
  7.   interface MysqlConnect {
  8.     public function get_config($name);
  9.     public function init_mysql_connection();
  10.     public function MysqlQueryError($mysqli);
  11.   }
  12.  
  13.   trait MysqlConnectTrate {
  14.     public function get_config($name)
  15.     {
  16.       switch ($name) {
  17.         case 'mysql':
  18.           return parse_ini_file("application/configs/config.ini");
  19.           break;
  20.  
  21.         default:
  22.           # code...
  23.          break;
  24.       }
  25.     }
  26.  
  27.     public function init_mysql_connection()
  28.     {
  29.       $db_login = $this->get_config('mysql');
  30.  
  31.       $mysqli = new mysqli($db_login['host'], $db_login['user'],
  32.       $db_login['password'], $db_login['db']);
  33.  
  34.       if ($mysqli->connect_errno) {
  35.       echo 'Ошибка соединения с БД \n"';
  36.       echo "Номер_ошибки: " . $mysqli->errno . "<br>";
  37.       echo "Ошибка: " . $mysqli->error . "<br>";
  38.       $mysqli->close();
  39.       }
  40.  
  41.       /*принудительно установил кодировку UTF-8 потому что иначе MYSQL не понимала
  42.       со словами на русском языке*/
  43.       if (!$mysqli->set_charset("utf8")) {
  44.       /*printf("Ошибка при загрузке набора символов utf8: %s\n", $mysqli->error);*/
  45.       $mysqli->close();
  46.       } else {
  47.       /*printf("Текущий набор символов: %s\n", $mysqli->character_set_name());*/
  48.       }
  49.  
  50.       return $mysqli;
  51.     }
  52.  
  53.     /*потребовалось вынести вывод ошибки mysql в отдельную функцию потому что
  54.     он повторяется во многих местах*/
  55.     public function MysqlQueryError($mysqli)
  56.     {
  57.       echo 'Ошибка выполнения запроса \n"';
  58.       echo "Номер_ошибки: " . $mysqli->errno . "<br>";
  59.       echo "Ошибка: " . $mysqli->error . "<br>";
  60.       $mysqli->close();
  61.     }
  62.  
  63.   }
  64.  
  65.  
  66.   class Model implements MysqlConnect
  67.   {
  68.     use MysqlConnectTrate;
  69.  
  70.     function get_data()
  71.     {
  72.       # code...
  73.    }
  74.  
  75.   }
  76.  
  77. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement