-
CI框架从3.0开始,输入类Input开始支持用数组的方式去取变量值。例如:
以前(2.x):
$user_id = $this->input->post('user_id', true);
$nickname = $this->input->post('nickname', true);
$version = $this->input->post('version', true);
...
$address = $this->input->post('address', true);
改进(3.x):
$keys = array('user_id', 'nickname', 'version');
list($user_id, $nickname, $version, $address) = $this->input->post($keys, true); -
使用 input_stream() 来获取php://input流数据,例如 PUT 请求
以前:
$rsv = file_get_contents("php://input");
$data = json_decode($rsv,1);
$user_id = intval($data['user_id']);
$nickname = stripSql($data['nickname']);
$version = stripSql($data['version']);
改进:
$keys = array('user_id', 'nickname', 'version');
list($user_id, $nickname, $version, $address) = $this->input->input_stream($keys, true); -
在http和https的兼容上面,$this->config->base_url() 添加了第二个参数 $protocol,可以传入http/https。如果传入【""】,会得到//开头的链接,表示自适应。
示例:
$CI =& get_instance();
$url = $CI->config->base_url("yilucaifu/buy/1024", "");
/**
* window.location="//shop.ci123.com/flashsale/yilucaifu/buy/1024";
*/ -
get(), post(), get_post(), cookie(), server(), user_agent()在没有取到数据的时候,返回NULL而非FALSE。
意义:
在以前(2.x),$p = $this->input->get('p', true); isset($p) 始终为真;到3.x后,如果没有p参数,isset($p)为假。 -
BASEPATH, APPPATH 被定义为了绝对路径,在脚本里可以直接使用这些变量了。
-
CI 3.x原生支持composer。新建composer.json,填写内容后update就可以使用了。