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/Catalog">Catalog
</a>
45 ↳ <a href=
"./ion/Decimal">Decimal
</a>
49 <li>↳ <a href=
"./ion/Decimal/Context">Context
</a>
52 <li>↳ <a href=
"./ion/Decimal/Context/Dec128">Dec128
</a>
55 <li>↳ <a href=
"./ion/Decimal/Context/Dec32">Dec32
</a>
58 <li>↳ <a href=
"./ion/Decimal/Context/Dec64">Dec64
</a>
61 <li>↳ <a href=
"./ion/Decimal/Context/DecMax">DecMax
</a>
64 <li>↳ <a href=
"./ion/Decimal/Context/Rounding">Rounding
</a>
76 ↳ <a href=
"./ion/Exception">Exception
</a>
81 ↳ <a href=
"./ion/LOB">LOB
</a>
86 ↳ <a href=
"./ion/Reader">Reader
</a>
90 <li>↳ <a href=
"./ion/Reader/Buffer">Buffer
</a>
93 <li>↳ <a href=
"./ion/Reader/Buffer/Reader">Reader
</a>
100 <li>↳ <a href=
"./ion/Reader/Options">Options
</a>
103 <li>↳ <a href=
"./ion/Reader/Reader">Reader
</a>
106 <li>↳ <a href=
"./ion/Reader/Stream">Stream
</a>
109 <li>↳ <a href=
"./ion/Reader/Stream/Reader">Reader
</a>
121 ↳ <a href=
"./ion/Serializer">Serializer
</a>
125 <li>↳ <a href=
"./ion/Serializer/PHP">PHP
</a>
133 ↳ <a href=
"./ion/Symbol">Symbol
</a>
137 <li>↳ <a href=
"./ion/Symbol/Enum">Enum
</a>
140 <li>↳ <a href=
"./ion/Symbol/ImportLocation">ImportLocation
</a>
143 <li>↳ <a href=
"./ion/Symbol/Table">Table
</a>
146 <li>↳ <a href=
"./ion/Symbol/Table/Local">Local
</a>
149 <li>↳ <a href=
"./ion/Symbol/Table/PHP">PHP
</a>
152 <li>↳ <a href=
"./ion/Symbol/Table/Shared">Shared
</a>
155 <li>↳ <a href=
"./ion/Symbol/Table/System">System
</a>
167 ↳ <a href=
"./ion/Timestamp">Timestamp
</a>
171 <li>↳ <a href=
"./ion/Timestamp/Format">Format
</a>
174 <li>↳ <a href=
"./ion/Timestamp/Precision">Precision
</a>
182 ↳ <a href=
"./ion/Type">Type
</a>
187 ↳ <a href=
"./ion/Unserializer">Unserializer
</a>
191 <li>↳ <a href=
"./ion/Unserializer/PHP">PHP
</a>
199 ↳ <a href=
"./ion/Writer">Writer
</a>
203 <li>↳ <a href=
"./ion/Writer/Buffer">Buffer
</a>
206 <li>↳ <a href=
"./ion/Writer/Buffer/Writer">Writer
</a>
213 <li>↳ <a href=
"./ion/Writer/Options">Options
</a>
216 <li>↳ <a href=
"./ion/Writer/Stream">Stream
</a>
219 <li>↳ <a href=
"./ion/Writer/Stream/Writer">Writer
</a>
226 <li>↳ <a href=
"./ion/Writer/Writer">Writer
</a>
234 ↳ <a href=
"./ion/serialize">serialize
</a>
239 ↳ <a href=
"./ion/unserialize">unserialize
</a>
254 <h2>About:
<a id=
"About:" href=
"#About:" class=
"permalink" aria-hidden=
"true" title=
"">#
</a></h2>
255 <p>PHP extension wrapping
<a href=
"https://github.com/amzn/ion-c">amzn/ion-c
</a>.
256 See the
<a href=
"https://amzn.github.io/ion-docs/">Amazon ION specification
</a>.
</p>
257 <h2>License:
<a id=
"License:" href=
"#License:" class=
"permalink" aria-hidden=
"true" title=
"">#
</a></h2>
258 <p><a href=
"https://github.com/awesomized/ext-ion/blob/master/LICENSE">BSD-
2-Clause
</a>;
259 see
<a href=
"https://spdx.org/licenses/BSD-2-Clause.html">spdx.org
</a>.
</p>
260 <h2>Installation:
<a id=
"Installation:" href=
"#Installation:" class=
"permalink" aria-hidden=
"true" title=
"">#
</a></h2>
261 <p><a href=
"https://pecl.php.net">PECL
</a> and
<a href=
"https://pharext.org">PHARext
</a> is WIP.
</p>
262 <h3>Dependencies:
<a id=
"Dependencies:" href=
"#Dependencies:" class=
"permalink" aria-hidden=
"true" title=
"">#
</a></h3>
263 <h4>Required:
<a id=
"Required:" href=
"#Required:" class=
"permalink" aria-hidden=
"true" title=
"">#
</a></h4>
267 <li>ext/date (standard)
</li>
268 <li>ext/spl (standard)
</li>
272 <h4>Optional:
<a id=
"Optional:" href=
"#Optional:" class=
"permalink" aria-hidden=
"true" title=
"">#
</a></h4>
275 <a href=
"https://github.com/amzn/ion-c">amzn/ion-c
</a> (bundled as git submodule)
</li>
277 <h3>Trinity:
<a id=
"Trinity:" href=
"#Trinity:" class=
"permalink" aria-hidden=
"true" title=
"">#
</a></h3>
278 <pre><code class=
"language-shell">phpize
281 sudo make install # INSTALL=install
283 <h3>Try with Docker:
<a id=
"Try.with.Docker:" href=
"#Try.with.Docker:" class=
"permalink" aria-hidden=
"true" title=
"">#
</a></h3>
284 <pre><code class=
"language-shell">docker build -t php-ion
285 docker run --rm php-ion -r 'echo ion\serialize(ion\Symbol\Table\PHP());'
287 <h2>Editor Stub:
<a id=
"Editor.Stub:" href=
"#Editor.Stub:" class=
"permalink" aria-hidden=
"true" title=
"">#
</a></h2>
288 <p>See
<a href=
"https://github.com/awesomized/ext-ion/blob/master/ion.stub.php">ion.stub.php
</a>.
</p>
289 <h2>Known Issues:
<a id=
"Known.Issues:" href=
"#Known.Issues:" class=
"permalink" aria-hidden=
"true" title=
"">#
</a></h2>
290 <p>Due to private internal state of ion-c's readers and writers,
291 instances of the following PHP classes cannot be cloned:
</p>
293 <li>ion\Reader\Reader
</li>
294 <li>ion\Writer\Writer
</li>
295 <li>ion\Serializer\PHP
</li>
296 <li>ion\Unserializer\PHP
</li>
301 <h2 id=
"Functions:">Functions:
</h2>
305 <h3><a href=
"ion/serialize">serialize
</a></h3>
306 <p>Serialize a PHP value as ION data.
</p>
308 <p>string ion\serialize(mixed $data, [?ion\Serializer $serializer = NULL])
</p>
312 <h3><a href=
"ion/unserialize">unserialize
</a></h3>
313 <p>Unserialize ION data (stream) as PHP value(s).
</p>
315 <p>mixed ion\unserialize(string|resource $data, [?ion\Unserializer $unserializer = NULL])
</p>
321 <h2 id=
"Namespaces,.Interfaces.and.Classes:">Namespaces, Interfaces and Classes:
</h2>
325 <h3><a href=
"ion/Catalog">Catalog
</a></h3>
326 <p>The Catalog holds a collection of ion\Symbol\Table instances queried from ion\Reader and ion\Writer instances.
</p>
328 <p>class ion\Catalog implements Countable
</p>
332 <h3><a href=
"ion/Decimal">Decimal
</a></h3>
333 <p>An arbitrary precision fixed point decimal.
</p>
335 <p>class ion\Decimal implements Stringable
</p>
339 <h3><a href=
"ion/Exception">Exception
</a></h3>
340 <p>Base exception for the ION extension.
</p>
342 <p>class ion\Exception extends Exception implements Stringable, Throwable
</p>
346 <h3><a href=
"ion/LOB">LOB
</a></h3>
347 <p>A large object.
</p>
353 <h3><a href=
"ion/Reader">Reader
</a></h3>
354 <p>ION reader API.
</p>
356 <p>interface ion\Reader implements Iterator, RecursiveIterator, Traversable
</p>
360 <h3><a href=
"ion/Serializer">Serializer
</a></h3>
361 <p>Serializer interface, used to customize ion\serialize()'s behavior.
</p>
363 <p>interface ion\Serializer
</p>
367 <h3><a href=
"ion/Symbol">Symbol
</a></h3>
369 <p>class ion\Symbol implements Stringable
</p>
373 <h3><a href=
"ion/Timestamp">Timestamp
</a></h3>
374 <p>An ION Timestamp.
</p>
376 <p>class ion\Timestamp extends DateTime implements DateTimeInterface, Stringable
</p>
380 <h3><a href=
"ion/Type">Type
</a></h3>
381 <p>ION data type.
</p>
383 <p>enum ion\Type implements BackedEnum, UnitEnum
</p>
387 <h3><a href=
"ion/Unserializer">Unserializer
</a></h3>
388 <p>Unserializer interface, used to customize ion\unserialize()'s behavior.
</p>
390 <p>interface ion\Unserializer
</p>
394 <h3><a href=
"ion/Writer">Writer
</a></h3>
395 <p>ION writer API.
</p>
397 <p>interface ion\Writer
</p>
402 <div id=
"disqus_thread"><button id=
"disqus_activator">Show
<span> </span> Comment(s)
</button></div>
404 var disqus_shortname = 'mdref';
405 var disqus_identifier = 'ion';
411 <li><a href=
"https://github.com/m6w6/mdref">mdref-v2.0
413 <li><a href=
"LICENSE">© 2013-
2022 All rights reserved.
</a></li>
420 <script src=
"index.js"></script>