### 前置条件
1. 一个QQ号.
2. 一台公网通过域名可访问的web服务器.
3. 需要备案 .
### QQ登录流程
1. 打开网站QQ互联 : [http://connect.qq.com](http://connect.qq.com)
2. 创建应用 .

3. 下载官方SDK包,进行配置. 回调地址必须和QQ互联上填写的回调地址完全一致 .

4. 点击登录

5. 会跳转到我们在QQ互联上填写的回调地址中去 .

6. 在回调函数内操作
~~~
include './API/qqConnectAPI.php';
$qc = new QC();
$token = $qc->qq_callback(); //access_token
$openid = $qc->get_openid(); //open_id
$user = $qc->get_user_info();
echo "<pre>";
var_dump($user);
~~~
结果
~~~
array(18) {
["ret"]=>
int(0)
["msg"]=>
string(0) ""
["is_lost"]=>
int(0)
["nickname"]=>
string(8) "1 Player"
["gender"]=>
string(3) "男"
["province"]=>
string(0) ""
["city"]=>
string(12) "威斯巴登"
["year"]=>
string(4) "1992"
["figureurl"]=>
string(73) "http://qzapp.qlogo.cn/qzapp/101475346/16FDFDA64E5DEA36B34729DE49382DB6/30"
["figureurl_1"]=>
string(73) "http://qzapp.qlogo.cn/qzapp/101475346/16FDFDA64E5DEA36B34729DE49382DB6/50"
["figureurl_2"]=>
string(74) "http://qzapp.qlogo.cn/qzapp/101475346/16FDFDA64E5DEA36B34729DE49382DB6/100"
["figureurl_qq_1"]=>
string(75) "http://thirdqq.qlogo.cn/qqapp/101475346/16FDFDA64E5DEA36B34729DE49382DB6/40"
["figureurl_qq_2"]=>
string(76) "http://thirdqq.qlogo.cn/qqapp/101475346/16FDFDA64E5DEA36B34729DE49382DB6/100"
["is_yellow_vip"]=>
string(1) "0"
["vip"]=>
string(1) "0"
["yellow_vip_level"]=>
string(1) "0"
["level"]=>
string(1) "0"
["is_yellow_year_vip"]=>
string(1) "0"
}
~~~
### QQ登录之后的处理
一般需要给user表增加openID字段用于存储或得到的openID信息 , 以便今后该用户登录做判断 . 还需要保存nickname,city,gender,year等信息.
- PHP加密技术
- md5加密
- Crypt加密
- 函数
- 概述
- 强类型参数
- 可变参数列表
- 值传递&引用传递
- 变量作用域
- 可变函数
- 嵌套函数
- 递归函数
- 匿名函数(闭包)
- 面向对象
- 概念
- 类
- 对象的传值
- 对象的克隆
- 构造方法
- 析构方法
- 克隆方法
- $this
- 类常量
- 静态属性
- 静态方法
- 继承
- 重写
- 重载
- 概述
- 属性重载
- 概述
- __set()
- __get()
- __unset()
- __isset()
- 方法重载
- 概述
- __call()
- __callstatic()
- 封装
- 最终类
- 抽象类
- 接口
- 对象的序列化与反序列化
- __sleep()
- __wakeup()
- 其他魔术方法
- 对象的遍历
- 类和对象相关函数
- 错误
- 概述
- 设置错误级别
- trigger_error()触发错误
- 处理PHP中的错误
- 异常
- 概述
- 自定义异常类
- 自定义文件写入异常类
- 记录和发送异常信息
- 使用观察者模式处理异常信息
- 自定义异常处理器
- 设计模式
- 创建型
- 单例模式
- 工厂模式
- 原型模式
- 结构型
- 注册树模式
- 适配器模式
- 数据映射模式
- 装饰器模式
- 代理模式
- 行为型
- 策略模式
- 观察者模式
- 迭代器模式
- 网络
- cURL
- Oauth2.0
- QQ第三方登录
- TCP/IP协议
- 概述
- HTTP协议
- 概述
- HTTP请求协议
- HTTP响应协议
- WebSocket
- 安装扩展
- Redis
- Socket
- 计算机通信
- socket简介
- PHP操作socket
- TCP
- HTTP服务端
- WebSocket
- PHP7
- 生成器yield
- 异常finally
- CGI和FPM
- php有用命令
- 内存
