gidato / temporary-path
在给定的临时目录基础上创建一个新的临时路径对象
v0.1.2
2020-05-15 10:53 UTC
Requires
- gidato/filesystem-model: ^0
- ramsey/uuid: ^4.0
Requires (Dev)
- mockery/mockery: ^1.0
- phpunit/phpunit: ^8.5
This package is auto-updated.
Last update: 2024-09-15 20:56:11 UTC
README
创建新的临时文件或目录 Gidato/Filesystem/Model 对象。
如果目录/文件被创建,则在对象通过析构方法销毁时会自动消失。
这也可以通过 drop() 方法手动调用。
为此,每种文件类型都必须映射到等效的临时文件类型。BasicFile 和 JsonFile 已设置,但可以添加到 FileClassMapper - 请参阅以下示例。
安装
composer require gidato/temporary-path
示例使用
<?php use Gidato\TemporaryPath\Temporary; use Gidato\Filesystem\Model\Base; $base = new Base('/filesbase'); $temporary = new Temporary($base->directory('tmp')); // creates a TemporaryDirectory $directory = $temporary->directory(); $directory->create(); $directory->drop(); // creates a TemporaryBasicFile $file = $temporary->file(); // creates a TemporaryJsonFile $file = $temporary->file('json'); // new file types - ConfigJsonFile extends JsonFile $base->getFileTypesHandler()->addType('config.json', ConfigJsonFile::class); // creates a TemporaryJsonFile as mapper not set up to convert ConfigJsonFile to anything else $file = $temporary->file('config.json'); // now set up a mapper for ConfigJsonFile $temporary->getFileClassMapper()->addType(ConfigJsonFile::class, TemporaryConfigJsonFile::class); // now creates a TemporaryConfigJsonFile $file = $temporary->file('config.json');
您还可以跟踪任何创建,以便所有内容都可以同时删除。这主要是为了捕捉对象在出现错误/异常时未进行销毁的问题。
<?php $code = $temporary->track(); $file = $temporary->file(); $file->create(); $$directory = $temporary->directory(); $directory->create(); // drop all temporary files and directories since code was created $temporary->dropSice($code);