CodeIgniter遇到的坑

1.controllers文件夹中的controller文件首字母大写。不大写也可以,但是环境兼容性不好,举个例子,我开发环境在mac电脑上,文件名首字母小写,服务可以正常访问;但是在阿里云服务器(debian)环境中,文件名首字母小写,无法访问controller类中的方法,文件名改成首字母大写,就可以正常访问了。

2.在controller中访问数据库,需要在构造函数中加载数据库函数语句前调用父类构造函数,如果在model中加载数据库,则直接写加载数据库语句就行。如下

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

3.接口返回页面的语句

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

4.获取时间戳

我一般获取时间戳的方式是写一个公用方法,查询数据库时间。因为在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字符串转成数组对象

你可能感兴趣的:(php框架,php,codeigniter)