cwola/transaction

简单的交易模块。

v1.1.1 2022-08-25 01:29 UTC

This package is auto-updated.

Last update: 2024-09-25 05:56:11 UTC


README

简单的交易模块。

概述

"真正简单"的交易模块。

本模块不打算单独使用。

要求

安装

composer require cwola/transaction

使用

<?php

use Cwola\Transaction;

$transaction = new Transaction\Transaction;
$transaction->begin();

echo $transaction->inTransaction()
    ? 'OPENED' : 'CLOSED';
// output : OPENED


$transaction->commit();

echo $transaction->inTransaction()
    ? 'OPENED' : 'CLOSED';
// output : CLOSED

添加事件

<?php

use Cwola\Transaction;
use Cwola\Event;

$transaction = new Transaction\Transaction;

$transaction->addEventListener('beginning', function() {
    echo 'beginning... : ';
});
$transaction->addEventListener('begin', function(Event\Event $event) {
    echo sprintf('SUCCESS %s', $event->timeStamp) . PHP_EOL;
});

$transaction->addEventListener('rollbacking', function() {
    echo 'rollbacking... : ';
});
$transaction->addEventListener('rollback', function(Event\Event $event) {
    echo sprintf('SUCCESS %s', $event->timeStamp) . PHP_EOL;
});

$transaction->addEventListener('committing', function() {
    echo 'committing... : ';
});
$transaction->addEventListener('commit', function(Event\Event $event) {
    echo sprintf('SUCCESS %s', $event->timeStamp) . PHP_EOL;
});

$transaction->begin();
// output
// beginning... : SUCCESS 2022-08-22T23:32:51+09:00

echo $transaction->inTransaction()
    ? 'OPENED' : 'CLOSED';
// output : OPENED


$transaction->commit();
// output
// committing... : SUCCESS 2022-08-22T23:32:51+09:00

echo $transaction->inTransaction()
    ? 'OPENED' : 'CLOSED';
// output : CLOSED

许可

MIT