plan2net / fake-fal
用于伪造文件的TYPO3 Local FAL存储驱动器
Requires
- php: >=7.4
- ext-gd: *
- ext-pdo: *
- typo3/cms-core: ^10.4||^11
Conflicts
README
动态创建缺少的文件以供测试/开发使用。
它做什么?
该扩展不是将几GB的文件与您的测试/开发系统同步,而是创建有用的伪造文件。它像本地文件驱动器一样工作,并创建带有正确文件签名(如果图像文件则保持原始文件尺寸)和文件夹的缺失文件,以便PHP的finfo(和其他)返回正确的MIME类型。
您可以让扩展动态创建伪造文件(在浏览器中访问页面时)或通过命令一次性创建所有磁盘上不可用的文件的伪造文件(后端>计划任务或命令行)。
安装
需要composer包
composer require "plan2net/fake-fal" --dev
在扩展管理器中激活扩展并更新设置。
您必须显式设置enable
标志以注册伪造本地驱动器。
enable = 1 (default is 0 = inactive)
设置图像生成器
imageGeneratorType = Plan2net\FakeFal\Resource\Generator\LocalFakeImageGenerator
(目前只有一个本地图像生成器可用,所以请使用默认值)
保存配置。
全局激活本地伪造驱动器后,您必须为特定本地存储激活伪造模式。可以通过后端(通过编辑存储记录)或通过命令行命令
fake-fal:toggle
将所有本地存储设置为伪造模式。
fake-fal:toggle 2,14,99
将给定的存储(ID为2
,14
和99
)设置为伪造模式。
可用命令
fake-fal:list
以表格形式列出所有现有存储(仅命令行)
typo3 fake-fal:list
+----+---------------------------+--------+-----------+
| ID | Name | Driver | Fake mode |
+----+---------------------------+--------+-----------+
| 1 | fileadmin/ (auto-created) | Local | enabled |
| 2 | fileadmin_sec/ | Local | disabled |
+----+---------------------------+--------+-----------+
fake-fal:toggle
将给定的存储设置为伪造模式:检查伪造模式标志,清除已处理的文件
fake-fal:create
在给定的存储中创建伪造文件;保留现有真实文件
兼容性
最新扩展版本与TYPO3 CMS 10/11和PHP >= 7.4兼容。使用版本 < 3.0 用于TYPO3 8和9以及PHP >= 7.0。
集成信息
我们扩展了核心类\TYPO3\CMS\Core\Resource\ResourceFactory
以克服方法retrieveFileOrFolderObject
中的硬编码的is_file
检查,并扩展了核心类\TYPO3\CMS\Core\Resource\ResourceStorage
以重置存储的isOnline
标志。如果您使用任何其他执行此类操作的扩展或自行扩展该类,请注意这一点。
替代方案
有Nicole Cordes的filefill扩展。
以下是故事:我相当长一段时间以来都有创建plan2net/fake-fal的想法,并且有一个Fedex Day(一个探索新想法并在我们公司中创建酷东西的日子)我想创建这个扩展。编码一天后的结果是第一个可工作的版本。
这是在Nicole发布她的扩展两周后。我不知道任何关于它的事情。一周后,一个同事说
嘿,我听说有一个扩展听起来像你的!
起初我很失望,但很高兴它们有很多不同之处。
plan2net/fake-fal在离线状态下工作并创建本地文件。此外,伪造图像的尺寸被写入伪造图像中。如果您下载一个伪造的PDF,它将表现得像真实文档。