Пример #1
0
 /**
  * Подключение к базе данных
  *
  * @return \Knee\DataBase\Query
  */
 public static function connection($connect = null)
 {
     $connect = !is_null($connect) ? $connect : 'default';
     if (array_key_exists($connect, static::$connections)) {
         return static::$connections[$connect];
     }
     try {
         $config = Config::get('database.connections.' . $connect);
         if (!is_array($config)) {
             throw new PDOException();
         }
         extract($config);
         $dsn = "mysql:host=" . $host . ";port=" . $port . ";dbname=" . $database;
         $pdo = new PDO($dsn, $username, $password, array());
         $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
         $pdo->setAttribute(PDO::ATTR_CASE, PDO::CASE_LOWER);
         $pdo->setAttribute(PDO::ATTR_ORACLE_NULLS, PDO::NULL_NATURAL);
         $pdo->setAttribute(PDO::ATTR_STRINGIFY_FETCHES, false);
         $pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
         $pdo->query("SET NAMES '" . $charcter . "'");
         $DBQuery = new \Knee\DataBase\Query($pdo);
         static::$connections[$connect] = $DBQuery;
         return static::$connections[$connect];
     } catch (PDOException $e) {
         Error::e503(Lang::get('system.db.noconnect'));
     }
 }
Пример #2
0
 /**
  * Рузультат работы
  *
  * Использует eval() т.к. так в PHP <=5.6 можно поймать Fatal Error
  * См. класс /knee/debug.php
  *
  * @return string
  */
 public function result()
 {
     ob_start();
     $__viewData = $this->data;
     extract($__viewData, EXTR_SKIP);
     $__eval = @eval('?>' . $this->template);
     if ($__eval === false and is_array(error_get_last())) {
         ob_end_clean_all();
         \Knee\Error::e503(\Knee\Lang::get('system.view.error-compile') . '<br>View: ' . $this->path);
     } else {
         return trim(ob_get_clean());
     }
 }