Bagaimana untuk membangunkan seata-php? Artikel ini akan bercakap tentang panduan pembangunan seata-php dan menerangkan beberapa pengetahuan pra-syarat saya harap ia akan membantu anda!
Artikel ini terutamanya berharap dapat membantu semua orang mengambil bahagian dalam pembangunan seata/seata-php dan memberikan beberapa penjelasan tentang pengetahuan pra-syarat .
seata/seata-php kini merupakan pakej komponen transaksi teragih yang dibangunkan berdasarkan rangka kerja hyperf
dan serasi dengan dua sambungan coroutine swoole
dan swow
Pembangun kemudian juga boleh mempertimbangkan keserasian dengan dua sambungan coroutine ini
Semoga semua orang mengambil bahagian seata/seata- php Sebelum membangunkan pastikan anda memahami perkara berikut dahulu
Mula-mula kita perlu mencari direktori fail untuk memuat turun kod
# 根据自己实际情况来创建目录 mkdir ./seata-dev
Seterusnya, masukkan direktori kami
# 根据自己实际情况来创建目录 cd ./seata-dev
Kami akan mengklon seata/seata-php
# 根据自己实际情况来创建目录 git clone git@github.com:seata/seata-php.git
Seterusnya, gunakan swoole mengikut keutamaan anda Atau swow laksanakan yang berikut arahan masing-masing untuk mencipta projek rangka kerja, dengan hyperf dokumen penciptaan projek 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
Langkah seterusnya ialah memasukkan projek dan memuatkan clone
hanya seata/seata-php
ke dalam projek
Mula-mula kita perlu mengubah suai fail composer.json
dalam projek dan menambah kandungan berikut
{ "require": { "hyperf/seata": "dev-master" }, "repositories": { "seata": { "type": "path", "url": "../seata-php" } } }
Akhir sekali, laksanakan composer update -o
dalam direktori dan kemudian direktori projek.
Dan gunakan arahan php bin/hyperf.php vendor:publis hyperf/seata
untuk menerbitkan fail konfigurasi seata
Akhir sekali gunakan php bin/hyperf.php start
untuk memulakan projek
Akhirnya, rakan yang berminat juga boleh mengetahui lebih lanjuthyperf
Dokumen berkaitan pembangunan pakej komponen
Akhir sekali, izinkan saya menerangkan kepada anda projek
seata/seata-php
Bagaimana ia dimulakan
Kita boleh lihat pada kod seata/seata-php
dalam HyperfSeataListenerInitListener
pautan projek: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 { // 我们这里监听了下面两个事件,在 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(); } }
Akhir sekali dilampirkanhyperf
Dokumen kitaran hayatperistiwa kitaran hayat hiper
Pembelajaran yang disyorkan: "Tutorial Video PHP"
Atas ialah kandungan terperinci Bagaimana untuk membangunkan seata-php? Analisis ringkas panduan pembangunan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!