今天小編給大家分享一下如何進(jìn)行seata-php開發(fā)的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
創(chuàng)新互聯(lián)從2013年創(chuàng)立,先為孟州等服務(wù)建站,孟州等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為孟州企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
希望大家在參與 seata/seata-php 開發(fā)之前一定一定一定要先了解以下的東西
seata
hyperf開發(fā)文檔
swoole文檔
swow
首先我們需要找個(gè)文件目錄將代碼下載下來
# 根據(jù)自己實(shí)際情況來創(chuàng)建目錄 mkdir ./seata-dev
接下來進(jìn)入到我們的目錄內(nèi)
# 根據(jù)自己實(shí)際情況來創(chuàng)建目錄 cd ./seata-dev
我們將 seata/seata-php clone 下來
# 根據(jù)自己實(shí)際情況來創(chuàng)建目錄 git clone git@github.com:seata/seata-php.git
接下來根據(jù)自己是使用swoole,還是swow分別執(zhí)行以下的命令來創(chuàng)建框架項(xiàng)目,附帶一份 hyperf 項(xiàng)目創(chuàng)建文檔 hyperf
# swoole composer create-project hyperf/hyperf-skeleton # swow composer create-project hyperf/swow-skeleton # 使用 swow 擴(kuò)展建議使用 hyperf3.0 版本 composer create-project hyperf/swow-skeleton:dev-master
接下來是進(jìn)入到項(xiàng)目內(nèi)將剛剛 clone
下來的 seata/seata-php
加載到項(xiàng)目內(nèi)
首先我們需要修改項(xiàng)目內(nèi)的 composer.json
文件,添加如下內(nèi)容
{ "require": { "hyperf/seata": "dev-master" }, "repositories": { "seata": { "type": "path", "url": "../seata-php" } } }
最后在目錄再項(xiàng)目的目錄內(nèi)執(zhí)行 composer update -o
即可。
并且使用命令 php bin/hyperf.php vendor:publis hyperf/seata
發(fā)布一下 seata 配置文件
最后使用 php bin/hyperf.php start
啟動(dòng)項(xiàng)目
最后的最后有興趣的小伙伴也可以深入了解一下 hyperf
組件包開發(fā)相關(guān)的文檔
組件開發(fā)指南
ConfigProvider 機(jī)制
最后給大家講解一下
seata/seata-php
項(xiàng)目是怎么啟動(dòng)的
我們可以看一下 seata/seata-php
項(xiàng)目內(nèi) Hyperf\Seata\Listener\InitListener
的代碼 link:InitListener
<?php declare(strict_types=1); /** * This file is part of Hyperf. * * @link https://www.hyperf.io * @document https://hyperf.wiki * @contact group@hyperf.io * @license https://github.com/hyperf/hyperf/blob/master/LIC */ namespace Hyperf\Seata\Listener; use Hyperf\DbConnection\Db; use Hyperf\Event\Contract\ListenerInterface; use Hyperf\Framework\Event\MainWorkerStart; use Hyperf\Seata\Annotation\GlobalTransactionScanner; use Hyperf\Seata\Rm\DataSource\DataSourceProxy; use Hyperf\Server\Event\MainCoroutineServerStart; class InitListener implements ListenerInterface { protected GlobalTransactionScanner $globalTransactionScanner; protected DataSourceProxy $dataSourceProxy; public function __construct(GlobalTransactionScanner $globalTransactionScanner, DataSourceProxy $dataSourceProxy) { $this->globalTransactionScanner = $globalTransactionScanner; $this->dataSourceProxy = $dataSourceProxy; } public function listen(): array { // 我們這里監(jiān)聽了下面兩個(gè)事件,在 server 啟動(dòng)時(shí)候,則開始執(zhí)行該監(jiān)聽器 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(); } }
以上就是“如何進(jìn)行seata-php開發(fā)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
新聞名稱:如何進(jìn)行seata-php開發(fā)
URL標(biāo)題:http://bm7419.com/article26/goiccg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、Google、外貿(mào)建站、網(wǎng)站建設(shè)、動(dòng)態(tài)網(wǎng)站、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)