如何在ThinkPHP6中利用Ucenter实现一个注册登录功能

  介绍

这篇文章给大家介绍如何在ThinkPHP6中利用Ucenter实现一个注册登录功能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

1新建一个控制器用来继承Ucenter \控制器\ UcController,并新建构造方法,用来实例化UcController

& lt; php ?   declare  (strict_types =, 1);      namespace  app \控制器;      use  Ucenter \控制器\ UcController;   class  uc  extends  UcController   {   ,/* *   ,,*,构造方法,用于实例化,UcController   ,,*/public 才能;function  __construct () {   ,,,这个→美元init ();   ,,}   }

2指数控制器添加uc类变量。

private 加州大学美元;

3指数方法中实例化uc控制器,对UCenter接口的操作通过$ this→加州大学来完成。

$ this→uc =, new 加州大学();

以上两步完成后,就可以在代码合适的地方调用UCenter接口进行注册登录了。以下是我项目中的代码片段,仅供参考。

4注册时验证用户名是否已经存在以及是否合法

username 美元;=,$ data[& # 39;内容# 39;];   ,,,,,,,result 美元;=,$ this→uc→uc_check_name(用户名);   ,,,,,,,switch (结果),{   ,,,,,,,,,case  1:   ,,,,,,,,,,,reason 美元;=,“用户名不合法”;   ,,,,,,,,,,,休息;   ,,,,,,,,,case  2:   ,,,,,,,,,,,reason 美元;=,“包含不允许注册的词语“;   ,,,,,,,,,,,休息;   ,,,,,,,,,case  3:   ,,,,,,,,,,,reason 美元;=,“用户名已经存在“;   ,,,,,,,,,,,休息;   ,,,,,,,}   ,,,,,,,if  (result 美元;!=,1),{   ,,,,,,,,,这个→美元_resetStep ();   ,,,,,,,,,return 阵列(加入(“\ n",, array_merge(数组(& # 39;【注册】注册失败& # 39;,,美元的原因),,$ this→_guestActions ()   ,,,,,,,,,),   ,,,,,,,,,,,& # 39;文本# 39;);   ,,,,,,,},{else    ,,,,,,,,,这个→美元_setStep (self:: STEP_REGISTER_PASSWORD);   ,,,,,,,,,会话:设置(& # 39;用户名# 39;,,$ data[& # 39;内容# 39;]);      ,,,,,,,,,return 数组(& # 39;【注册】请输入密码& # 39;,,& # 39;文本# 39;);   ,,,,,,,}   ,,,,,}

5输入密码后调用ucenter进行注册,因为ucenter注册时必带的用户名,密码,电子邮件,所以需要为用户生成默认的邮件

,,//注册→输入密码   ,,,,,if  ($ this→_currentStep (),==, self:: STEP_REGISTER_PASSWORD), {   ,,,,,,,这个→美元_resetStep ();   ,,,,,,,会话:设置(& # 39;密码# 39;,,$ data[& # 39;内容# 39;]);   ,,,,,,,//call  ucenter 用register 用户   ,,,,,,,username_valid 美元;=,$ this→uc→uc_check_name(会话::(& # 39;用户名# 39;));   ,,,,,,,日志:写(& # 39;username_valid& # 39;美元,只username_valid美元,& # 39;调试# 39;);   ,,,,,,,if  (username_valid 美元;==,1),{   ,,,,,,,,,//注册   ,,,,,,,,,日志:写(& # 39;start  register  & # 39;,只会话::获得(& # 39;用户名# 39;),,& # 39;调试# 39;);   ,,,,,,,,,email 美元;=,“reg_",只substr(会话:getId(),, 0,, 3),只时间(),只substr(会话:getId (),,,, 4),。   ,,,,,,,,,,,“@null.null";   ,,,,,,,,,//email 美元;=,会话:获得(& # 39;用户名# 39;)强生# 39;@ # 39;.Session:获得(& # 39;用户名# 39;)# 39;公司。com # 39;;   ,,,,,,,,,register_result 美元;=,$ this→uc→uc_register(会话:获得(& # 39;用户名# 39;),,会话::获得(& # 39;密码# 39;),   ,,,,,,,,,,,美元电子邮件);   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

如何在ThinkPHP6中利用Ucenter实现一个注册登录功能