Skip to content

jiromm/transactional-file-management

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Transactica

Work with the file system transactionally

Example

<?php

namespace Transactica;

require __DIR__ . "/vendor/autoload.php";

$storage = new Storage\Memory();
$transactica = new Transaction($storage);

try {
    $transactica->beginTransaction();

    try {
        $transactica->beginTransaction();

        $transactica->getFileManager()->remove(__DIR__ . '/data/tempfile');

        $transactica->commitTransaction();
    } catch (\Exception $e) {
        $transactica->rollbackTransaction();
    }

    $transactica->getFileManager()->remove(__DIR__ . '/data/tempdir2');
    throw new \Exception('break it down');

    $transactica->commitTransaction();
} catch (\Exception $e) {
    $transactica->rollbackTransaction();
}

About

Work with the file system transactionally

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages