9 <meta name=
"viewport" content=
"width=1200, initial-scale=0.5">
11 <meta http-equiv=
"Content-Location" content=
"/v0.0/ion">
12 <link rel=
"stylesheet" href=
"index.css">
14 <link href=
"https://fonts.googleapis.com/css?family=Inconsolata&subset=latin-ext" rel=
"stylesheet">
15 <script src=
"//ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
16 <link rel=
"shortcut icon" href=
"/v0.0/favicon.ico">
24 <a href=
"./ion">Edit
</a>
29 <li>↰ <a href=
"./">Home
</a>
34 ↻ <strong><a href=
"./ion">ion
</a></strong>
40 ↳ <a href=
"./ion/: Contributing">★ Contributing
</a>
45 ↳ <a href=
"./ion/: Security">★ Security
</a>
50 ↳ <a href=
"./ion/Catalog">Catalog
</a>
55 ↳ <a href=
"./ion/Decimal">Decimal
</a>
59 <li>↳ <a href=
"./ion/Decimal/Context">Context
</a>
62 <li>↳ <a href=
"./ion/Decimal/Context/Dec128">Dec128
</a>
65 <li>↳ <a href=
"./ion/Decimal/Context/Dec32">Dec32
</a>
68 <li>↳ <a href=
"./ion/Decimal/Context/Dec64">Dec64
</a>
71 <li>↳ <a href=
"./ion/Decimal/Context/DecMax">DecMax
</a>
74 <li>↳ <a href=
"./ion/Decimal/Context/Rounding">Rounding
</a>
86 ↳ <a href=
"./ion/Exception">Exception
</a>
91 ↳ <a href=
"./ion/LOB">LOB
</a>
96 ↳ <a href=
"./ion/Reader">Reader
</a>
100 <li>↳ <a href=
"./ion/Reader/Buffer">Buffer
</a>
103 <li>↳ <a href=
"./ion/Reader/Buffer/Reader">Reader
</a>
110 <li>↳ <a href=
"./ion/Reader/Options">Options
</a>
113 <li>↳ <a href=
"./ion/Reader/Reader">Reader
</a>
116 <li>↳ <a href=
"./ion/Reader/Stream">Stream
</a>
119 <li>↳ <a href=
"./ion/Reader/Stream/Reader">Reader
</a>
131 ↳ <a href=
"./ion/Serializer">Serializer
</a>
135 <li>↳ <a href=
"./ion/Serializer/PHP">PHP
</a>
143 ↳ <a href=
"./ion/Symbol">Symbol
</a>
147 <li>↳ <a href=
"./ion/Symbol/Enum">Enum
</a>
150 <li>↳ <a href=
"./ion/Symbol/ImportLocation">ImportLocation
</a>
153 <li>↳ <a href=
"./ion/Symbol/PHP">PHP
</a>
156 <li>↳ <a href=
"./ion/Symbol/System">System
</a>
159 <li>↳ <a href=
"./ion/Symbol/Table">Table
</a>
162 <li>↳ <a href=
"./ion/Symbol/Table/Local">Local
</a>
165 <li>↳ <a href=
"./ion/Symbol/Table/Shared">Shared
</a>
177 ↳ <a href=
"./ion/Timestamp">Timestamp
</a>
181 <li>↳ <a href=
"./ion/Timestamp/Format">Format
</a>
184 <li>↳ <a href=
"./ion/Timestamp/Precision">Precision
</a>
192 ↳ <a href=
"./ion/Type">Type
</a>
197 ↳ <a href=
"./ion/Unserializer">Unserializer
</a>
201 <li>↳ <a href=
"./ion/Unserializer/PHP">PHP
</a>
209 ↳ <a href=
"./ion/Writer">Writer
</a>
213 <li>↳ <a href=
"./ion/Writer/Buffer">Buffer
</a>
216 <li>↳ <a href=
"./ion/Writer/Buffer/Writer">Writer
</a>
223 <li>↳ <a href=
"./ion/Writer/Options">Options
</a>
226 <li>↳ <a href=
"./ion/Writer/Stream">Stream
</a>
229 <li>↳ <a href=
"./ion/Writer/Stream/Writer">Writer
</a>
236 <li>↳ <a href=
"./ion/Writer/Writer">Writer
</a>
244 ↳ <a href=
"./ion/serialize">serialize
</a>
249 ↳ <a href=
"./ion/unserialize">unserialize
</a>
264 <h2>About:
<a id=
"About:" href=
"#About:" class=
"permalink" aria-hidden=
"true" title=
"">#
</a></h2>
265 <p>PHP extension wrapping
<a href=
"https://github.com/amzn/ion-c">amzn/ion-c
</a>.
266 See the
<a href=
"https://amzn.github.io/ion-docs/">Amazon ION specification
</a>.
</p>
267 <h2>License:
<a id=
"License:" href=
"#License:" class=
"permalink" aria-hidden=
"true" title=
"">#
</a></h2>
268 <p><a href=
"https://github.com/awesomized/ext-ion/blob/master/LICENSE">BSD-
2-Clause
</a>;
269 see
<a href=
"https://spdx.org/licenses/BSD-2-Clause.html">spdx.org
</a>.
</p>
270 <h2>Installation:
<a id=
"Installation:" href=
"#Installation:" class=
"permalink" aria-hidden=
"true" title=
"">#
</a></h2>
271 <p><a href=
"https://pecl.php.net">PECL
</a> and
<a href=
"https://pharext.org">PHARext
</a> is WIP.
</p>
272 <h3>Dependencies:
<a id=
"Dependencies:" href=
"#Dependencies:" class=
"permalink" aria-hidden=
"true" title=
"">#
</a></h3>
273 <h4>Required:
<a id=
"Required:" href=
"#Required:" class=
"permalink" aria-hidden=
"true" title=
"">#
</a></h4>
277 <li>ext/date (standard)
</li>
278 <li>ext/spl (standard)
</li>
282 <h4>Optional:
<a id=
"Optional:" href=
"#Optional:" class=
"permalink" aria-hidden=
"true" title=
"">#
</a></h4>
285 <a href=
"https://github.com/amzn/ion-c">amzn/ion-c
</a> (bundled as git submodule)
</li>
287 <h3>Trinity:
<a id=
"Trinity:" href=
"#Trinity:" class=
"permalink" aria-hidden=
"true" title=
"">#
</a></h3>
288 <pre><code class=
"language-shell">phpize
291 sudo make install # INSTALL=install
293 <h3>Try with Docker:
<a id=
"Try.with.Docker:" href=
"#Try.with.Docker:" class=
"permalink" aria-hidden=
"true" title=
"">#
</a></h3>
294 <pre><code class=
"language-shell">docker build -t php-ion
295 docker run --rm php-ion -r 'echo ion\serialize(ion\Symbol\Table\PHP());'
297 <h2>Editor Stub:
<a id=
"Editor.Stub:" href=
"#Editor.Stub:" class=
"permalink" aria-hidden=
"true" title=
"">#
</a></h2>
298 <p>See
<a href=
"https://github.com/awesomized/ext-ion/blob/master/ion.stub.php">ion.stub.php
</a>.
</p>
299 <h2>Known Issues:
<a id=
"Known.Issues:" href=
"#Known.Issues:" class=
"permalink" aria-hidden=
"true" title=
"">#
</a></h2>
300 <p>Due to private internal state of ion-c's readers and writers,
301 instances of the following PHP classes cannot be cloned:
</p>
303 <li>ion\Reader\Reader
</li>
304 <li>ion\Writer\Writer
</li>
305 <li>ion\Serializer\PHP
</li>
306 <li>ion\Unserializer\PHP
</li>
309 <h2 id=
"Editor.Stub:">Editor Stub:
</h2>
310 <p>This extension provides a stub file four your editor's auto-completion.
</p>
312 <p><strong>Download the Stub file:
</strong></p>
313 <ul style=
"list-style-type: '»'">
315 <a href=
"ion.stub.php">ion.stub.php
</a><br>
318 2022-
01-
25 11:
49:
44 UTC
</small>
324 <h2 id=
"Functions:">Functions:
</h2>
328 <h3><a href=
"ion/serialize">serialize
</a></h3>
329 <p>Serialize a PHP value as ION data.
</p>
331 <p>string ion\serialize(mixed $data, [?ion\Serializer $serializer = NULL])
</p>
335 <h3><a href=
"ion/unserialize">unserialize
</a></h3>
336 <p>Unserialize ION data (stream) as PHP value(s).
</p>
338 <p>mixed ion\unserialize(string|resource $data, [?ion\Unserializer $unserializer = NULL])
</p>
344 <h2 id=
"Namespaces,.Interfaces.and.Classes:">Namespaces, Interfaces and Classes:
</h2>
348 <h3><a href=
"ion/Catalog">Catalog
</a></h3>
349 <p>The Catalog holds a collection of ion\Symbol\Table instances queried from ion\Reader and ion\Writer instances.
</p>
351 <p>class ion\Catalog implements Countable
</p>
355 <h3><a href=
"ion/Decimal">Decimal
</a></h3>
356 <p>An arbitrary precision fixed point decimal.
</p>
358 <p>class ion\Decimal implements Stringable
</p>
362 <h3><a href=
"ion/Exception">Exception
</a></h3>
363 <p>Base exception for the ION extension.
</p>
365 <p>class ion\Exception extends Exception implements Stringable, Throwable
</p>
369 <h3><a href=
"ion/LOB">LOB
</a></h3>
370 <p>A large object.
</p>
376 <h3><a href=
"ion/Reader">Reader
</a></h3>
377 <p>ION reader API.
</p>
379 <p>interface ion\Reader implements Iterator, RecursiveIterator, Traversable
</p>
383 <h3><a href=
"ion/Serializer">Serializer
</a></h3>
384 <p>Serializer interface, used to customize ion\serialize()'s behavior.
</p>
386 <p>interface ion\Serializer
</p>
390 <h3><a href=
"ion/Symbol">Symbol
</a></h3>
392 <p>class ion\Symbol implements Stringable
</p>
396 <h3><a href=
"ion/Timestamp">Timestamp
</a></h3>
397 <p>An ION Timestamp.
</p>
399 <p>class ion\Timestamp extends DateTime implements DateTimeInterface, Stringable
</p>
403 <h3><a href=
"ion/Type">Type
</a></h3>
404 <p>ION data type.
</p>
406 <p>enum ion\Type implements BackedEnum, UnitEnum
</p>
410 <h3><a href=
"ion/Unserializer">Unserializer
</a></h3>
411 <p>Unserializer interface, used to customize ion\unserialize()'s behavior.
</p>
413 <p>interface ion\Unserializer
</p>
417 <h3><a href=
"ion/Writer">Writer
</a></h3>
418 <p>ION writer API.
</p>
420 <p>interface ion\Writer
</p>
425 <div id=
"disqus_thread"><button id=
"disqus_activator">Show
<span> </span> Comment(s)
</button></div>
427 var disqus_shortname = 'mdref';
428 var disqus_identifier = 'ion';
434 <li><a href=
"https://github.com/m6w6/mdref">mdref-v2.0
436 <li><a href=
"LICENSE">© 2013-
2022 All rights reserved.
</a></li>
443 <script src=
"index.js"></script>