作者:浪漫满屋19860902692 | 来源:互联网 | 2023-01-19 12:49
今天小编给大家分享一下如何进行seata-php开发的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
前置知识
希望大家在参与 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
# swoole
composer create-project hyperf/hyperf-skeleton
# swow
composer 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
组件包开发相关的文档
seata-php 是在何时启动的
最后给大家讲解一下 seata/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();
}
}
以上就是“如何进行seata-php开发”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程笔记行业资讯频道。