ddruganov/php-transactional-filesystem

此包的最新版本(0.1.2)没有可用的许可证信息。

执行事务性文件操作,就像使用数据库一样

0.1.2 2022-05-04 12:57 UTC

This package is auto-updated.

Last update: 2024-09-04 17:46:34 UTC


README

虚拟文件系统,在提交时将更改应用于实际文件系统

安装

composer require ddruganov/php-transactional-filesystem

待办事项

  • 在虚拟文件系统中创建文件和文件夹时检查权限
  • 记录模式,文件和文件夹将以此模式创建

如何做

$folder = '/opt/your-folder';
$file = "$folder/test.txt";

// work with a transaction
$transactionalFileSystem = new TransactionalFileSystem();
$transactionalFileSystem->createFolder($folder);
$transactionalFileSystem->writeFile($file, 'some string content');
$transactionalFileSystem->commit();

// check that files are actually created
$realFileSystem = new RealFileSystem();
$realFileSystem->getFolderStatus($folder); // will be FileSystemUnitStatus::EXISTS
$realFileSystem->getFileStatus($file); // will be FileSystemUnitStatus::EXISTS

// delete the file
$transactionalFileSystem = new TransactionalFileSystem();
$transactionalFileSystem->deleteFile($file);
$transactionalFileSystem->commit();

// check that files are actually deleted
$realFileSystem = new RealFileSystem();
$realFileSystem->getFolderStatus($folder); // will be FileSystemUnitStatus::EXISTS
$realFileSystem->getFileStatus($file); // will be FileSystemUnitStatus::NOT_FOUND