TypoScript 中的数据类型 "array" 到底是什么

What exactly is the data type "array" in TypoScript

在 TypoScript 参考中,某些属性的 数据类型 被定义为“array” 或 "array of ... with stdWrap" 之类的相似的。

然而,在 TSRef 的 list of data types 中,找不到 "array"。

我知道,本质上它在转换为 PHP 时确实是一个数组,但是数据类型 array 在这种情况下究竟意味着什么?

还有更多数组(例如 array of cObjects 用于 templates 中的子部分和标记)

它们都在您的打字稿中定义了另一个级别的元素。数组的种类可能会提示您需要什么索引和什么类型的值。

有时索引是按顺序进行评估的(例如 COA、layoutRootPaths),有时无关紧要(例如标记、子部分)或按错字的顺序进行评估(例如 includeJS)。因为你可以在 PHP 中有多种数组,每种数组都可以通过多种方式进行评估。

值的种类(在文档中)取决于进一步的评估。简单整数、字符串、cObjects、...
并非所有地方都可以添加 stdWrap 函数(因此在核心中评估的值应该有它)。

正如您已经提到的:拼写错误被扫描并存储为多维数组。
(核心)代码的每个部分都使用单独的逻辑评估此数组。所以一个数组的解释是单独完成的。

直到现在,对于哪种 arrays 具有代表性或典型性作为自己的类型还没有完全的共识。统一可能需要在核心和多个扩展中更改代码。 为了优化手册,您应该打开一张伪造票,要求在手册中对您找到的数组类型进行解释。

文档在这方面有点混乱,因为 TypoScript 中根本没有 "arrays",因为 TypoScript 甚至不是一种编程语言。 TypoScript 只是一种配置,就像 YAML 或 JSON 一样,并且会被 PHP 本身转换成一个数组。我认为它应该被称为 "a list of things" 而不是 "an array of things",但是由于数组本身有点列表,开发人员是文档的主要受众,在谈论时应该知道文档在谈论什么"an array of things",保持原样有点有效。