codappix/typo3-php-datasets

允许在TYPO3中使用PHP数据集。

v1.5.0 2024-02-05 14:51 UTC

This package is auto-updated.

Last update: 2024-08-26 09:42:07 UTC


README

TYPO3的PHP数据集

提供API以使用以PHP数组编写的数据集。

原因

我们不喜欢TYPO3测试框架对数据集的处理方式。

我们遇到以下问题

  1. XML仅支持导入,不支持断言
  2. CSV格式很差,已经被破解,例如用#表示注释。我们认为它很糟糕,因为需要特殊的工具来正确编写CSV文件,它们不是人类可读的。

这就是我们更喜欢PHP文件的原因。这样,开发人员可以自由使用他们想要的任何东西。无论是纯PHP还是YAML或其他格式。他们不必被迫做任何事情,而是可以坚持他们熟悉的工具。

我们也有这样的情况,我们希望在生产环境中拥有静态数据库记录,这些记录由PHP数据集和更新向导维护。

因此,这个包应该通常处理TYPO3的PHP数据集。它应该通过提供方便的集成来简化通用用例的使用,例如测试框架。

用法

请参阅我们的测试用例了解如何使用,因为它们没有做其他任何事情。

在测试框架中

  1. 创建数据集

    数据集是一个返回包含表及其记录的数组的PHP文件。格式如下

    return [
        'table_name' => [
            // Records
            [
                // column_name => value
                'uid' => 1,
            ],
        ],
    ];
  2. 导入:php:`Codappix\Typo3PhpDatasets\TestingFramework`特质

    use Codappix\Typo3PhpDatasets\TestingFramework as PhpDatasets;
    
    final class MyTest extends FunctionalTestCase
    {
        use PhpDatasets;
    
        // ...
    }
  3. 使用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变体在其旁边。现有文件只读,不更改。

待办事项

  1. 实现用例以检查必要的更新并允许更新。用于在更新向导或其他脚本部署静态数据。