一、获取前端提交的信息
- 获取参数
- 参考文章点击查看
- 获取之前需要知道前端提交时的方式和头部字段代表的意义(当然也可以略过,不过以后踩坑的时候可能还会回来:)
- html发送的表单不指定enctype时为content_type = application/x-www-form-urlencoded,传递的数据以key-value形式进行urlencode,name=123,age=12得到的是类似于name%3D123%26age%3D12形式
- multipart/form-data提交,数据未进行urlencode,header数据量较大(分别描述k-v值),文件必须用这种方式提交
- 其他有直接以文本形式提交的,text/plain,application/json,application/javascript等,没有过多要求,只是在数据传输的时候规范化会更好一点,json形式传输是很普遍的一种方式
- $this->uri->segment()获取从指定控制器的参数开始的参数,例如this->uri->segment(2)获取...index.php/controller/index/3中的index
- $_GET
- $_POST(1.1,1.2,)
- file_get_content(”php://input“)获取请求的原始数据,读入一个字符串后返回,不同参数以&分隔,可以使用json_decode($data,true)强制转换成php的关联数组(第二个参数代表返回的结果为数组)不适用于二进制文件(图片、文档等)(1.1,1.2,1.3)
- 定义判断访问方式的常量(定义常量文件:app/config/constants.php)
-
/* |-------------------------------------------------------------------------- | Judgment method for visit |-------------------------------------------------------------------------- */ define('IS_POST',strtolower($_SERVER['REQUEST_METHOD']) == 'post'); define('IS_GET',strtolower($_SERVER['REQUEST_METHOD']) == 'get'); define('IS_AJAX',isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest');
-
- 多入口文件配置
- 复制application下文件到新文件夹,在项目根目录创建新入口文件,并更改入口文件中$application_folder为新目录
- 此方法中多个入口下面的资源访问会出现问题,适用于前后端标准不一致等类型
- 如有两个index.php和api.php,api.php入口访问时需在此入口后加“?”(暂未解决取消添加,欢迎大神们留言点播)
二、常见问题
- echo,die,exit,return在php中的区别
- echo 打印数据,(php->浏览器/客户端)
- die(‘abcd’),输出信息,退出脚本
- exit(‘abcd’),die的别名
- return 终止后面代码的执行并传递数据,(php->php)
- ==,===
- ==比较值
- ===比较值的内容和类型
- 跨域(接口访问经常会出现跨域的问题)
- 在ci的入口文件中可以设置允许跨域访问
-
header("Access-Control-Allow-Origin: * ");
header("Access-Control-Allow-Methods: POST, GET, OPTIONS, PUT, DELETE");
header("Access-Control-Allow-Headers:x-requested-with,content-type");
三、sql操作(curd)【文档比较简略,可边看边实践】
四、类库使用