关于thinkphp6:ThinkPHP6与Ucenter整合

47次阅读

共计 1836 个字符,预计需要花费 5 分钟才能阅读完成。

需要

当用户受权登录微信公众号提供的程序时,或者通过微信公众号注册时,将注册信息发送给 ucenter 接口,通过 ucenter 实现注册和登录。该性能基于之前开发的微信公众号会话开发程序。

参考资料

在整合 TP6 与 ucenter 时,次要参考了 UCenter API 开发笔记——UCenter 与 ThinkPHP5.1 整合 实现了胜利通信。

UCenter 接口开发文档

整合前提

thinkphp6

这个必定曾经有了。

装置 Center1.6.0

因之前我曾经装置过 Ucenter,并且实现了 Ucenter 和 Supesite 的整合,此处装置 Ucenter 过程略。请百度 Ucenter 装置办法。

下载 thinkphp5ucenter 接口

下载地址: thinkphp5 UCenter 接口

整合

  1. ucenter 中增加应用程序,参考 UCenter API 开发笔记——UCenter 与 ThinkPHP5.1 整合
  2. 将下载好的 thinkphp5ucenter 接口代码中的 UCenter 目录复制到 thinkphp 的扩大目录 extend 目录下, 如图所示。

  3. 复制 ucenter 中配置的通信参数

    进入 UCenter-> 利用治理 -> 刚刚增加的那一项利用 -> 编辑 -> 页面底部内容

  4. 将配置信息黏贴到 thinkphp 根目录 /extend/UCenter/config.php 中笼罩保留

  5. tp6 中新建一个模块用于与 Ucenter 通信

    因我部署的 tp6 是单利用,所以新建 controller 代码如下

    php think make:controller app/UCenter

  6. 新建一个模型

    php think make:model uc/UCenter

  7. 批改新创建的控制器和模型

7.1 批改控制器使其继承 UcenterControllerApiController,残缺代码如下


    <?php
    declare (strict_types = 1);

    namespace appcontroller;


    use UcenterControllerApiController;
    class UCenter extends ApiController
    {public $eventListener = 'appmodelucUCenter';}

7.2 批改模型使其继承 UCenterModelEventModel,残缺代码如下


    <?php
    declare (strict_types = 1);

    namespace appmodeluc;
    use UCenterModelEventModel;


    /**
     * @mixin thinkModel
     */
    class UCenter extends EventModel
    {//}

8 配置路由

  1. 开启零碎路由 config/route.php

    'url_lazy_route' => true,

    此处我放弃 false 也是能够胜利的。最好还是改为 true

  2. 新增路由信息

    1. 关上文件 thinkphp 根目录 /route/app.php 新增一条路由信息

    Route::get('uc', 'uc/UCenter/uc');

9 批改 extend/UCenter/Controller/ApiController.php

  1. 去掉 use thinkLog; 和 use thinkLoader;
  2. 增加 use thinkfacadeLog;
  3. 去掉 class ApiController extends Controller 中的 extends Controller

  1. $action = Loader::parseName($get['action'], '1');
    改为$action = parse_name($get['action'], '1');

10 批改 extend/UCenter/Controller/UcController.php

1 去掉 use thinkController;,增加上面的代码

use thinkfacadeLog;
use thinkfacadeRequest;

2 去掉 class UcController extends Controller 的 extends Controller

3 更改 $ip = !empty($reg_ip) ? $reg_ip : get_client_ip();
$ip = !empty($reg_ip) ? $reg_ip : Request::host();

11 批改 UCenter 利用信息

  1. 利用主 URL 更改为利用域名 /index.php/uc
  2. 利用接口文件名称由 uc.php 该为 uc

到此,刷新 ucenter 利用治理页面,能够看到通信胜利。

下一篇讲通过 ucenter 接口实现注册和登录。

正文完
 0