PHP code example of kang-babi / transactions

1. Go to this page and download the library: Download kang-babi/transactions library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

kang-babi / transactions example snippets


use KangBabi\Transactions\Transaction;

$result = Transaction::start()
    ->try(fn() => "Hello, World!")
    ->run();

echo $result; // Outputs: Hello, World!

use KangBabi\Transactions\Transaction;

$result = Transaction::start()
    ->try(function () {
        throw new RuntimeException("An error occurred!");
    })
    ->catch(RuntimeException::class, fn($e) => "Caught exception: " . $e->getMessage())
    ->run();

echo $result; // Outputs: Caught exception: An error occurred!

use KangBabi\Transactions\Transaction;

Transaction::start()
    ->try(function () {
        echo "Trying...\n";
    })
    ->finally(function () {
        echo "Finally block executed.\n";
    })
    ->run();

// Outputs:
// Trying...
// Finally block executed.

use KangBabi\Transactions\Transaction;

$result = Transaction::start()
    ->try(function () {
        throw new InvalidArgumentException("Invalid argument!");
    })
    ->catch(InvalidArgumentException::class, fn($e) => "Handled: " . $e->getMessage())
    ->finally(function () {
        echo "Cleaning up resources.\n";
    })
    ->run();

echo $result;
// Outputs:
// Cleaning up resources.
// Handled: Invalid argument!

use KangBabi\Transactions\Transaction;

$result = Transaction::start()
    ->try(function () {
        throw new LogicException("Logic error!");
    })
    ->catch(InvalidArgumentException::class, fn($e) => "Caught InvalidArgumentException")
    ->catch(LogicException::class, fn($e) => "Caught LogicException: " . $e->getMessage())
    ->run();

echo $result; // Outputs: Caught LogicException: Logic error!