Overview

Namespaces

  • None
  • RedBeanPHP
    • Adapter
    • BeanHelper
    • Cursor
    • Driver
    • Logger
      • RDefault
    • QueryWriter
    • RedException
    • Repository
    • Util

Classes

  • ArrayTool
  • DispenseHelper
  • Dump
  • MultiLoader
  • Transaction
  • Overview
  • Namespace
  • Class

Class Transaction

Transaction Helper

This code was originally part of the facade, however it has been decided to remove unique features to service classes like this to make them available to developers not using the facade class.

Database transaction helper. This is a convenience class to perform a callback in a database transaction. This class contains a method to wrap your callback in a transaction.

Namespace: RedBeanPHP\Util
Copyright:

copyright (c) G.J.G.T. (Gabor) de Mooij and the RedBeanPHP Community This source file is subject to the BSD/GPLv2 License that is bundled with this source code in the file license.txt.


License: BSD/GPLv2
Author: Gabor de Mooij and the RedBeanPHP Community
File: RedBeanPHP/Util/Transaction.php
Located at Util/Transaction.php
Methods summary
public static mixed
# transaction( RedBeanPHP\Adapter $adapter, callable $callback )

Wraps a transaction around a closure or string callback. If an Exception is thrown inside, the operation is automatically rolled back. If no Exception happens, it commits automatically. It also supports (simulated) nested transactions (that is useful when you have many methods that needs transactions but are unaware of each other).

Wraps a transaction around a closure or string callback. If an Exception is thrown inside, the operation is automatically rolled back. If no Exception happens, it commits automatically. It also supports (simulated) nested transactions (that is useful when you have many methods that needs transactions but are unaware of each other).

Example:

$from = 1;
$to = 2;
$amount = 300;

R::transaction(function() use($from, $to, $amount)
{
  $accountFrom = R::load('account', $from);
  $accountTo = R::load('account', $to);
  $accountFrom->money -= $amount;
  $accountTo->money += $amount;
  R::store($accountFrom);
  R::store($accountTo);
});

Parameters

$adapter
Database Adapter providing transaction mechanisms.
$callback
Closure (or other callable) with the transaction logic

Returns

mixed
API documentation generated by ApiGen