/**
  * 初始化数据库
  * @param str $name 表名
  * @return obj 返回数据库对象
  */
 protected function db($name = '')
 {
     static $db;
     if (empty($db)) {
         $db = \Core\Db\Db::__init();
     }
     $db->tableName($name);
     return $db;
 }
Example #2
0
 /**
  * 初始化数据库
  * @param str $name 表名
  * @return obj 返回数据库对象
  */
 protected static function db($name = '')
 {
     static $db;
     if (empty($db)) {
         $db = \Core\Db\Db::__init();
     }
     $db->tableName($name);
     self::$prefix = $db->prefix;
     return $db;
 }
 /**
  * 生成URL链接
  * @param type $controller 链接的控制器
  * @param array $param 参数
  * @return type 返回URL
  */
 public static final function url($controller, array $param = array())
 {
     $db = \Core\Db\Db::__init();
     $db->tableName('option');
     $result = $db->where('option_name = "urlModel"')->find();
     $urlModel = json_decode($result['value'], true);
     $url = '';
     if ($urlModel['index'] == '0') {
         $url .= '/index.php/';
     } else {
         $url .= '/';
     }
     $dismantling = explode('-', $controller);
     $totalDismantling = count($dismantling);
     if ($totalDismantling == 2) {
         switch ($urlModel['urlModel']) {
             case '2':
                 $url .= implode('-', $dismantling);
                 $url .= self::urlLinkStr($param, '-');
                 break;
             case '3':
                 $url .= implode('/', $dismantling);
                 $url .= self::urlLinkStr($param, '/');
                 break;
             case '1':
             default:
                 $url = $urlModel['index'] == '0' ? '/index.php' : '/';
                 $url .= "?m={$dismantling[0]}&a={$dismantling[1]}";
                 $url .= self::urlLinkStr($param);
         }
     } else {
         switch ($urlModel['urlModel']) {
             case '2':
                 $url .= implode('-', $dismantling);
                 $url .= self::urlLinkStr($param, '-');
                 break;
             case '3':
                 $url .= implode('/', $dismantling);
                 $url .= self::urlLinkStr($param, '/');
                 break;
             case '1':
             default:
                 $url = $urlModel['index'] == '0' ? '/index.php' : '/';
                 $url .= "?g={$dismantling[0]}&m={$dismantling[1]}&a={$dismantling[2]}";
                 $url .= self::urlLinkStr($param);
         }
     }
     /**
      * 正常模式不会生成HTML后缀
      */
     if ($urlModel['suffix'] == '1' && $urlModel['urlModel'] != '1') {
         $url .= ".html";
     }
     return DOCUMENT_ROOT . $url;
 }
 /**
  * URL模式
  * @param type $group 组参数
  */
 protected function urlModel($group = '')
 {
     //这里移除GET中可能潜在影响程序正确处理的数据。
     unset($_GET['s'], $_GET['page'], $_GET[substr($_SERVER['REQUEST_URI'], 1)]);
     $db = Db::__init();
     $db->tableName('option');
     $result = $db->where('option_name = "urlModel"')->find();
     $urlModel = json_decode($result['value'], true);
     $url = '';
     if ($urlModel['index'] == '0') {
         $url .= '/index.php/';
     } else {
         $url .= '/';
     }
     /**
      * 正常模式不会生成HTML后缀
      */
     if ($urlModel['suffix'] == '1' && $urlModel['urlModel'] != '1') {
         $this->suffix = true;
     }
     switch ($urlModel['urlModel']) {
         case '2':
             $group = empty($group) ? '' : "{$group}-";
             $url .= $group . MODULE . "-" . ACTION;
             $url .= $this->urlLinkStr($_GET, '-');
             $this->linkStr = '-';
             break;
         case '3':
             $group = empty($group) ? '' : "{$group}/";
             $url .= $group . MODULE . "/" . ACTION;
             $url .= $this->urlLinkStr($_GET, '/');
             $this->linkStr = '/';
             break;
         case '1':
         default:
             $url = $urlModel['index'] == '0' ? '/index.php' : '/';
             $group = empty($group) ? '' : "g={$group}&";
             $url .= "?{$group}m=" . MODULE . "&a=" . ACTION;
             $url .= $this->urlLinkStr($_GET);
             $this->linkStr = '';
     }
     return DOCUMENT_ROOT . $url;
 }
Example #5
0
 /**
  * SQL执行错误提示信息
  */
 public static function errorSql()
 {
     $db = \Core\Db\Db::__init();
     if (!empty($db->errorInfo)) {
         self::recordLog(implode("\r", $db->errorInfo), false);
     }
     if (DEBUG == true) {
         /**
          * 处理最后一次执行的 SQL
          */
         if (!empty($db->getLastSql)) {
             foreach ($db->param as $key => $value) {
                 $placeholder[] = ":{$key}";
                 $paramValue[] = "'{$value['value']}'";
             }
             $sql = str_replace($placeholder, $paramValue, $db->getLastSql);
         }
         $errorMes = "<b>Sql Run Error</b>: {$db->errorInfo['message']}";
         $errorFile = "<b>Sql Error String</b>:<br/> " . implode("<br/>", explode("\n", $db->errorInfo['string']));
     } else {
         $errorMes = "There was an error. Please try again later.";
         $errorFile = "That's all we know.";
     }
     header("HTTP/1.1 500 Internal Server Error");
     $title = "500 Internal Server Error";
     require self::promptPage();
     exit;
 }
Example #6
0
 /**
  * 声明DB类
  * @param type $table 表名
  * @return type
  */
 public function db($table = '')
 {
     $db = \Core\Db\Db::__init();
     $db->tableName($table);
     return $db;
 }