>首页> IT >

焦点热议:怎么进行seata-php开发?开发指南浅析

时间:2022-09-26 19:46:04       来源:PHP中文网
怎么进行seata-php开发?本篇文章带大家聊聊seata-php开发指南,讲解一些前置知识,希望对大家有所帮助!

本篇文章主要是希望能帮助大家参与到 seata/seata-php 的开发中来,并且提供一些前置知识的讲解。

seata/seata-php 目前是基于 hyperf框架开发的的一个分布式事物组件包,并且兼容 swooleswow两个协程扩展,希望后面的开发者们也能考虑到兼容这两个协程扩展


(资料图)

前置知识

希望大家在参与 seata/seata-php 开发之前一定一定一定要先了解以下的东西

seata

hyperf开发文档

swoole文档

swow

如何启动项目

首先我们需要找个文件目录将代码下载下来

# 根据自己实际情况来创建目录mkdir ./seata-dev

接下来进入到我们的目录内

# 根据自己实际情况来创建目录cd ./seata-dev

我们将 seata/seata-php clone 下来

# 根据自己实际情况来创建目录git clone git@github.com:seata/seata-php.git

接下来根据自己是使用swoole,还是swow分别执行以下的命令来创建框架项目,附带一份 hyperf 项目创建文档 hyperf

# swoolecomposer create-project hyperf/hyperf-skeleton # swowcomposer create-project hyperf/swow-skeleton# 使用 swow 扩展建议使用 hyperf3.0 版本composer create-project hyperf/swow-skeleton:dev-master

接下来是进入到项目内将刚刚 clone下来的 seata/seata-php加载到项目内

首先我们需要修改项目内的 composer.json文件,添加如下内容

{    "require": {        "hyperf/seata": "dev-master"    },    "repositories": {        "seata": {            "type": "path",            "url": "../seata-php"        }    }}

最后在目录再项目的目录内执行 composer update -o即可。

并且使用命令 php bin/hyperf.php vendor:publis hyperf/seata发布一下 seata 配置文件

最后使用 php bin/hyperf.php start启动项目

最后的最后有兴趣的小伙伴也可以深入了解一下 hyperf组件包开发相关的文档

组件开发指南

ConfigProvider 机制

seata-php 是在何时启动的

我们可以看一下 seata/seata-php项目内 Hyperf\Seata\Listener\InitListener的代码 link:InitListener

globalTransactionScanner = $globalTransactionScanner;        $this->dataSourceProxy = $dataSourceProxy;    }    public function listen(): array    {        // 我们这里监听了下面两个事件,在 server 启动时候,则开始执行该监听器        return [            MainCoroutineServerStart::class,            MainWorkerStart::class,        ];    }    public function process(object $event)    {        // Execute any sql to init the database connection        Db::select("select 1");        // Init TM and RM clients        // 这里则是开始初始化 TM 和 RM 的客户端        $this->globalTransactionScanner->initClients();    }}

最后附带一下 hyperf的生命周期文档 hyperf-生命周期事件

推荐学习:《PHP视频教程》

以上就是怎么进行seata-php开发?开发指南浅析的详细内容,更多请关注php中文网其它相关文章!

关键词: 根据自己 创建目录 首先我们