CodeIgniter遇到的坑

1.controllers文件夾中的controller文件首字母大寫。不大寫也能夠,可是環境兼容性很差,舉個例子,我開發環境在mac電腦上,文件名首字母小寫,服務能夠正常訪問;可是在阿里雲服務器(debian)環境中,文件名首字母小寫,沒法訪問controller類中的方法,文件名改爲首字母大寫,就能夠正常訪問了。php

2.在controller中訪問數據庫,須要在構造函數中加載數據庫函數語句前調用父類構造函數,若是在model中加載數據庫,則直接寫加載數據庫語句就行。以下sql

public function __construct()
{
   parent::__construct();
   $this->load->database;
}

3.接口返回頁面的語句數據庫

$this->output->set_output('返回值')

4.獲取時間戳json

我通常獲取時間戳的方式是寫一個公用方法,查詢數據庫時間。由於在php中我沒有找到日期和字符串轉換和格式化的靈活方法,因此在sql中處理格式化的問題。數組

public function getSysdate()
{
  $sql = "select DATE_FORMAT(NOW(),'%Y%m%d%H%i%s') sysdate ";
  $query = $this->db->query($sql);
  return $query->row()->sysdate;
}

5.獲取參數服務器

因爲ci框架自身設計的問題,推薦儘可能用post方式請求後臺服務,參數格式爲json格式。那麼問題來了,如何獲取參數,ci框架提供了input流,請看下面的代碼例子框架

$jsonStr = $this->input->raw_input_stream; //獲取參數 input流
$jsonObj = json_decode($jsonStr);          //再將json字符串轉成數組對象
相關文章
相關標籤/搜索