ddruganov / php-transactional-filesystem
此包的最新版本(0.1.2)没有可用的许可证信息。
执行事务性文件操作,就像使用数据库一样
0.1.2
2022-05-04 12:57 UTC
Requires
- ddruganov/php-typed-array: ^1.0
- symfony/property-access: ^6.0
Requires (Dev)
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