codappix / typo3-php-datasets
允许在TYPO3中使用PHP数据集。
v1.5.0
2024-02-05 14:51 UTC
Requires
- php: ^7.2 || ^7.3 || ^7.4 || ^8.0 || ^8.1 || ^8.2 || ^8.3
- composer-runtime-api: ^2.2
- doctrine/dbal: ^2.13 || ^3.6 || ^4.0 || 4.0.0-RC2
- symfony/console: ^5.4 || ^6.2 || ^7.0
- typo3/cms-core: ^10.4 || ^11.5 || ^12.4 || ^13.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.4
- phpstan/phpstan: ^1.10
- phpstan/phpstan-phpunit: ^1.3
- phpunit/phpunit: ^8.5 || ^9.6 || ^10.0
- typo3/testing-framework: ^6.16 || ^7.0 || ^8.0
README
TYPO3的PHP数据集
提供API以使用以PHP数组编写的数据集。
原因
我们不喜欢TYPO3测试框架对数据集的处理方式。
我们遇到以下问题
- XML仅支持导入,不支持断言
- CSV格式很差,已经被破解,例如用
#
表示注释。我们认为它很糟糕,因为需要特殊的工具来正确编写CSV文件,它们不是人类可读的。
这就是我们更喜欢PHP文件的原因。这样,开发人员可以自由使用他们想要的任何东西。无论是纯PHP还是YAML或其他格式。他们不必被迫做任何事情,而是可以坚持他们熟悉的工具。
我们也有这样的情况,我们希望在生产环境中拥有静态数据库记录,这些记录由PHP数据集和更新向导维护。
因此,这个包应该通常处理TYPO3的PHP数据集。它应该通过提供方便的集成来简化通用用例的使用,例如测试框架。
用法
请参阅我们的测试用例了解如何使用,因为它们没有做其他任何事情。
在测试框架中
创建数据集
数据集是一个返回包含表及其记录的数组的PHP文件。格式如下
return [ 'table_name' => [ // Records [ // column_name => value 'uid' => 1, ], ], ];
导入:php:`Codappix\Typo3PhpDatasets\TestingFramework`特质
use Codappix\Typo3PhpDatasets\TestingFramework as PhpDatasets; final class MyTest extends FunctionalTestCase { use PhpDatasets; // ... }
使用API
导入
$this->importPHPDataSet(__DIR__ . '/Fixtures/SimpleSet.php');
断言
$this->assertPHPDataSet(__DIR__ . '/Fixtures/SimpleSet.php');
转换器
该包提供了一个单独的bin文件,包含将现有数据集转换的命令。该bin文件作为typo3-php-datasets
提供。可用命令
convert-from-xml
convert-from-csv
每个命令都将转换现有文件并放置一个新PHP变体在其旁边。现有文件只读,不更改。
待办事项
- 实现用例以检查必要的更新并允许更新。用于在更新向导或其他脚本部署静态数据。