GatewayWorker tp5.0框架结合的问题

shuniu

GatewayWorker与tp5.0框架结合

下载DEMO后, 把DEMO放到了extend下面,现在可以调用GatewayWorker的函数, 但Evnets里面写框架的函数就会提示找不到, 有什么办法或文档吗? 查了一天没找到方案

2749 1 0
1个回答

six

不是把两个框架代码放一起就能直接整合了,那样的话我可以把tp和laravel框架代码放一起,就直接能用二者的所有特性了?
如果你不熟悉两个框架内部执行机制流程,整合是很困难的。其实大部分情况没必要把2者代码揉在一起,比如你可能只需要tp的数据库用法,那直接在gatewayWorker里composer安装tp的orm就行了。

安装tp数据库orm

composer require topthink/think-orm

加载composer的autoload.php
start.php里头部加上

// vendor是执行composer require topthink/think-orm 后生成的目录
require_once __DIR__ . '/vendor/autoload.php';

使用

use think\facade\Db;
class Events {
    public static function onWorkerStart()
    {
        Db::setConfig([
            // 默认数据连接标识
            'default'     => 'mysql',
            // 数据库连接信息
            'connections' => [
                'mysql' => [
                    // 数据库类型
                    'type'     => 'mysql',
                    // 主机地址
                    'hostname' => '127.0.0.1',
                    // 用户名
                    'username' => 'root',
                    // 数据库名
                    'database' => 'demo',
                    // 数据库编码默认采用utf8
                    'charset'  => 'utf8',
                    // 数据库表前缀
                    'prefix'   => 'think_',
                    // 数据库调试模式
                    'debug'    => true,
                ],
            ],
        ]);
    }

    public static function onMessage($client_id, $data)
    {
        Db::table('xxx')->xxxx....;
    }
}

thinkphp-orm文档 https://www.kancloud.cn/manual/think-orm/1257998

如果你需要tp的其它功能,也可以到tp的代码库里找,然后composer安装使用。

tp的其它功能组件地址 https://github.com/top-think

年代过于久远,无法发表回答
🔝