2 ion\Symbol\Table\Shared
10 $c->add(new ion\Symbol\Table\Shared("shared", 1, ["shared1", "shared2"]));
11 $w = new ion\Writer\Buffer\Writer($buf,
12 new ion\Writer\Options(catalog: $c, outputBinary: true));
14 $w->writeSymbol("shared1");
15 $w->writeSymbol("shared1");
16 $w->writeSymbol("shared2");
17 $w->writeSymbol("shared2");
21 foreach (str_split($buf, 8) as $line) {
22 printf("%-26s", chunk_split(bin2hex($line), 2, " "));
23 foreach (str_split($line) as $byte) {
24 echo ctype_print($byte) ? $byte : ".";
30 $u = new ion\Unserializer\PHP(multiSequence: true);
33 $u = new ion\Unserializer\PHP(multiSequence: true,
34 readerOptions: new ion\Reader\Options(
36 onContextChange: fn(ion\Reader $r) => print("on_context_change\n")));
43 e0 01 00 ea ee 97 81 83 ........
44 de 93 86 be 90 de 8e 84 ........
45 86 73 68 61 72 65 64 85 .shared.
46 21 01 88 21 02 71 0a 71 !..!.q.q
51 object(ion\Symbol)#%d (3) {
57 object(ion\Symbol\ImportLocation)#%d (2) {
65 object(ion\Symbol)#%d (3) {
71 object(ion\Symbol\ImportLocation)#%d (2) {
79 object(ion\Symbol)#%d (3) {
85 object(ion\Symbol\ImportLocation)#%d (2) {
93 object(ion\Symbol)#%d (3) {
99 object(ion\Symbol\ImportLocation)#%d (2) {
110 object(ion\Symbol)#%d (3) {
116 object(ion\Symbol\ImportLocation)#%d (2) {
124 object(ion\Symbol)#%d (3) {
130 object(ion\Symbol\ImportLocation)#%d (2) {
138 object(ion\Symbol)#%d (3) {
144 object(ion\Symbol\ImportLocation)#%d (2) {
152 object(ion\Symbol)#%d (3) {
158 object(ion\Symbol\ImportLocation)#%d (2) {