smichaelsen / fal-filewriter
1.1.0
2017-08-16 06:00 UTC
Requires
- typo3/cms: ^7.6 || ^8.7
This package is auto-updated.
Last update: 2024-08-29 04:03:35 UTC
README
这是一个小助手包,用于在需要创建文件并将其保存到TYPO3的文件抽象层时使用。
安装
FAL Filewriter 不是 TYPO3 扩展,也不通过 TER 提供。只能通过 composer 安装。
composer require smichaelsen/fal-filewriter
使用方法
FileGenerator
您需要创建一个类,该类提供将被保存到文件中的内容。它必须实现 \Smichaelsen\FalFilewriter\FileGeneratorInterface
接口,这相当简单。
存储
默认情况下,您的TYPO3安装将有一个指向文件admin的存储记录,uid为 1
,但当然您可以配置自己的存储记录,指向其他文件夹,甚至指向AWS等外部服务。
按如下方式加载存储对象
$storage = $this->objectManager->get(\TYPO3\CMS\Core\Resource\StorageRepository::class)->findByUid($fileStorageUid);
FileWriterService
\Smichaelsen\FalFilewriter\FileWriterService
有一个公开方法 saveFile()
,它接受以下参数
- $fileGenerator:您的文件生成对象,实现
FileGeneratorInterface
接口。 - $fileIdentifier:文件名,可能包括在
$storage
文件夹内的相对路径。文件扩展名可以省略。然后从$fileGenerator
(->getFileExtension()
)中读取。如果文件名以不存在的路径开始,将尝试创建该路径。 - $storage:要保存文件的
ResourceStorage
对象。有关更多信息,请参阅上面("存储")。
返回值将是一个 \TYPO3\CMS\Core\Resource\FileInterface
对象,表示保存的文件。
示例
/** @var \Smichaelsen\FalFilewriter\FileWriterService $fileWriterService */
/** @var \Smichaelsen\FalFilewriter\FileGeneratorInterface $fileGenerator */
/** @var \TYPO3\CMS\Core\Resource\ResourceStorage $storage */
$fileObject = $fileWriterService->saveFile($fileGenerator, 'folder/my-filename', $storage);