PHP接口开发tips(CI框架)

开发之前你需要知道的

 

一、获取前端提交的信息

  1. 获取参数
    1. 参考文章点击查看
    2. 获取之前需要知道前端提交时的方式和头部字段代表的意义(当然也可以略过,不过以后踩坑的时候可能还会回来:)
      1. html发送的表单不指定enctype时为content_type = application/x-www-form-urlencoded,传递的数据以key-value形式进行urlencode,name=123,age=12得到的是类似于name%3D123%26age%3D12形式
      2. multipart/form-data提交,数据未进行urlencode,header数据量较大(分别描述k-v值),文件必须用这种方式提交
      3. 其他有直接以文本形式提交的,text/plain,application/json,application/javascript等,没有过多要求,只是在数据传输的时候规范化会更好一点,json形式传输是很普遍的一种方式
    3. $this->uri->segment()获取从指定控制器的参数开始的参数,例如this->uri->segment(2)获取...index.php/controller/index/3中的index
    4. $_GET
    5. $_POST(1.1,1.2,)
    6. file_get_content(”php://input“)获取请求的原始数据,读入一个字符串后返回,不同参数以&分隔,可以使用json_decode($data,true)强制转换成php的关联数组(第二个参数代表返回的结果为数组)不适用于二进制文件(图片、文档等)(1.1,1.2,1.3)
  2. 定义判断访问方式的常量(定义常量文件:app/config/constants.php)
    1. /*
       |--------------------------------------------------------------------------
       | 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');
      
  3.  多入口文件配置
    1. 复制application下文件到新文件夹,在项目根目录创建新入口文件,并更改入口文件中$application_folder为新目录
    2. 此方法中多个入口下面的资源访问会出现问题,适用于前后端标准不一致等类型
    3. 如有两个index.php和api.php,api.php入口访问时需在此入口后加“?”(暂未解决取消添加,欢迎大神们留言点播)
  4.  

二、常见问题

  1. echo,die,exit,return在php中的区别
    1. echo 打印数据,(php->浏览器/客户端)
    2. die(‘abcd’),输出信息,退出脚本
    3. exit(‘abcd’),die的别名
    4. return 终止后面代码的执行并传递数据,(php->php)
  2. ==,===
    1. ==比较值
    2. ===比较值的内容和类型
  3. 跨域(接口访问经常会出现跨域的问题)
    1. 在ci的入口文件中可以设置允许跨域访问
    2. 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)【文档比较简略,可边看边实践】

  1. 查询辅助函数
  2. 查询构造器

四、类库使用

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章