在概述the AMF0 specification之后,我发现我无法理解编码StrictArray类型的正确方法。
以下是规范中最直接的部分:
array-count = U32
strict-array-type = array-count *(value-type)
描述了带有Augmented Backus-Naur Form(ABNF)语法的StrictArray类型(参见RFC2234)
StrictArray类型是否具有序数索引或简单编码对象(没有序号键),它们在StrictArray对象图中的出现顺序是什么?
另外,作为一个附加问题,序列化表(从中生成对象引用ID)是否包含对象图中的所有对象,或者只包含可以通过引用进行编码的对象(ECMAArray,StrictArray,TypedObject,AnonymousObject) ?
答案 0 :(得分:1)
请参阅https://github.com/silexlabs/amfphp-2.0/blob/master/Amfphp/Core/Amf/Serializer.php第329至336行。 你写了对象的数量,然后是每个对象。
附加问题:相同代码,查找Amf0StoredObjects。 引用ID仅适用于可引用的对象。但这些因AMF0和AMF3而异。