9 <meta name=
"viewport" content=
"width=1200, initial-scale=0.5">
10 <base href=
"/ext-ion/v0.1/">
11 <meta http-equiv=
"Content-Location" content=
"/ext-ion/v0.1/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=
"/ext-ion/v0.1/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>
262 <meta charset=
"utf-8"><h1>
263 <a class=
"permalink" href=
"ion#">#
</a>pecl/ion
</h1><h2 id=
"About:">About:
<a class=
"permalink" href=
"ion#About:">#
</a>
264 </h2><p>PHP extension wrapping
<a href=
"https://github.com/amzn/ion-c">amzn/ion-c
</a>.
265 See the
<a href=
"https://amzn.github.io/ion-docs/">Amazon ION specification
</a>.
</p><h2 id=
"License:">License:
<a class=
"permalink" href=
"ion#License:">#
</a>
266 </h2><p><a href=
"https://github.com/awesomized/ext-ion/blob/master/LICENSE">BSD-
2-Clause
</a>;
267 see
<a href=
"https://spdx.org/licenses/BSD-2-Clause.html">spdx.org
</a>.
</p><h2 id=
"Installation:">Installation:
<a class=
"permalink" href=
"ion#Installation:">#
</a>
268 </h2><h3 id=
"Dependencies:">Dependencies:
<a class=
"permalink" href=
"ion#Dependencies:">#
</a>
269 </h3><h4 id=
"Required:">Required:
<a class=
"permalink" href=
"ion#Required:">#
</a>
273 <li>ext/date (standard)
</li>
274 <li>ext/spl (standard)
</li>
277 </ul><h4 id=
"Optional:">Optional:
<a class=
"permalink" href=
"ion#Optional:">#
</a>
280 <a href=
"https://github.com/amzn/ion-c">amzn/ion-c
</a> (bundled as git submodule)
</li>
281 </ul><h3 id=
"Trinity:">Trinity:
<a class=
"permalink" href=
"ion#Trinity:">#
</a>
282 </h3><pre><code><span style=
"color: inherit" class=
"html">
283 phpize
<br>./configure # --with-php-config=
<path/to/php-config
><br>make # -j$(nproc)
<br>sudo make install # INSTALL=install
<br></span>
284 </code></pre><h3 id=
"PECL">PECL
<a class=
"permalink" href=
"ion#PECL">#
</a>
285 </h3><pre><code><span style=
"color: inherit" class=
"html">
286 pecl install ion
<br></span>
287 </code></pre><h3 id=
"PHARext">PHARext
<a class=
"permalink" href=
"ion#PHARext">#
</a>
288 </h3><p>Watch out for
<a href=
"https://replicator.pharext.org?ion">PECL replicates
</a>
289 and pharext packages attached to
<a href=
"./releases">releases
</a>.
</p><h3 id=
"Try.with.Docker:">Try with Docker:
<a class=
"permalink" href=
"ion#Try.with.Docker:">#
</a>
290 </h3><pre><code><span style=
"color: inherit" class=
"html">
291 docker build -t php-ion
<br>docker run --rm php-ion -r 'echo ion\serialize(ion\Symbol\PHP::asTable());'
<br></span>
292 </code></pre><h2 id=
"Editor.Stub:">Editor Stub:
<a class=
"permalink" href=
"ion#Editor.Stub:">#
</a>
293 </h2><p>See
<a href=
"https://github.com/awesomized/ext-ion/blob/master/ion.stub.php">ion.stub.php
</a>.
</p><h2 id=
"Known.Issues:">Known Issues:
<a class=
"permalink" href=
"ion#Known.Issues:">#
</a>
294 </h2><p>Due to
<em>private
</em> internal state of ion-c's readers and writers,
295 instances of the following PHP classes cannot be cloned:
</p><ul>
296 <li><a href=
"ion/Reader/Reader">ion\Reader\Reader
</a></li>
297 <li><a href=
"ion/Writer/Writer">ion\Writer\Writer
</a></li>
298 <li><a href=
"ion/Serializer/PHP">ion\Serializer\PHP
</a></li>
299 <li><a href=
"ion/Unserializer/PHP">ion\Unserializer\PHP
</a></li>
300 </ul><h2 id=
"Editor.Stub:">Editor Stub:
<a class=
"permalink" href=
"ion#Editor.Stub:">#
</a>
301 </h2><p>This extension provides a stub file four your editor's auto-completion.
</p><div>
302 <p><strong>Download the Stub file:
</strong></p>
303 <ul style=
"list-style-type: '»'">
305 <a href=
"ion.stub.php">ion.stub.php
</a><br>
308 2022-
01-
28 09:
29:
47 UTC
</small>
311 </div><h2 id=
"Functions:">Functions:
<a class=
"permalink" href=
"ion#Functions:">#
</a>
316 <a href=
"ion/serialize">serialize
</a><a class=
"permalink" href=
"ion#serialize">#
</a>
318 <p>Serialize a PHP value as ION data.
</p>
320 <p><code><a href=
"https://php.net/manual/en/language.types.string">string
</a></code> <a href=
"ion/serialize">ion\serialize
</a>(
<code><a href=
"https://php.net/manual/en/language.types.declarations#language.types.declarations.mixed">mixed
</a></code> <span class=
"var">$data
</span>, [?
<a href=
"ion/Serializer">ion\Serializer
</a> <span class=
"var">$serializer
</span> =
<code><a href=
"https://php.net/manual/en/language.types.null">NULL
</a></code>])
</p>
324 <h3 id=
"unserialize">
325 <a href=
"ion/unserialize">unserialize
</a><a class=
"permalink" href=
"ion#unserialize">#
</a>
327 <p>Unserialize ION data (stream) as PHP value(s).
</p>
329 <p><code><a href=
"https://php.net/manual/en/language.types.declarations#language.types.declarations.mixed">mixed
</a></code> <a href=
"ion/unserialize">ion\unserialize
</a>(
<code><a href=
"https://php.net/manual/en/language.types.string">string
</a></code>|
<code><a href=
"https://php.net/manual/en/language.types.resource">resource
</a></code> <span class=
"var">$data
</span>, [?
<a href=
"ion/Unserializer">ion\Unserializer
</a> <span class=
"var">$unserializer
</span> =
<code><a href=
"https://php.net/manual/en/language.types.null">NULL
</a></code>])
</p>
332 </ul><h2 id=
"Namespaces.Interfaces.and.Classes:">Namespaces, Interfaces and Classes:
<a class=
"permalink" href=
"ion#Namespaces.Interfaces.and.Classes:">#
</a>
337 <a href=
"ion/Catalog">Catalog
</a><a class=
"permalink" href=
"ion#Catalog">#
</a>
339 <p>The Catalog holds a collection of
<a href=
"ion/Symbol/Table">ion\Symbol\Table
</a> instances queried from
<a href=
"ion/Reader">ion\Reader
</a> and
<a href=
"ion/Writer">ion\Writer
</a> instances.
</p>
341 <p><em>class
</em> <a href=
"ion/Catalog">ion\Catalog
</a> <em>implements
</em> <code><a href=
"https://php.net/manual/en/class.countable">Countable
</a></code></p>
346 <a href=
"ion/Decimal">Decimal
</a><a class=
"permalink" href=
"ion#Decimal">#
</a>
348 <p>An arbitrary precision fixed point decimal.
</p>
350 <p><em>class
</em> <a href=
"ion/Decimal">ion\Decimal
</a> <em>implements
</em> <code><a href=
"https://php.net/manual/en/class.stringable">Stringable
</a></code></p>
355 <a href=
"ion/Exception">Exception
</a><a class=
"permalink" href=
"ion#Exception">#
</a>
357 <p>Base exception for the ION extension.
</p>
359 <p><em>class
</em> <a href=
"ion/Exception">ion\Exception
</a> <em>extends
</em> <code><a href=
"https://php.net/manual/en/class.exception">Exception
</a></code> <em>implements
</em> <code><a href=
"https://php.net/manual/en/class.throwable">Throwable
</a></code></p>
364 <a href=
"ion/LOB">LOB
</a><a class=
"permalink" href=
"ion#LOB">#
</a>
366 <p>A large object.
</p>
368 <p><em>class
</em> <a href=
"ion/LOB">ion\LOB
</a></p>
373 <a href=
"ion/Reader">Reader
</a><a class=
"permalink" href=
"ion#Reader">#
</a>
375 <p>ION reader API.
</p>
377 <p><em>interface
</em> <a href=
"ion/Reader">ion\Reader
</a> <em>implements
</em> <code><a href=
"https://php.net/manual/en/class.recursiveiterator">RecursiveIterator
</a></code></p>
382 <a href=
"ion/Serializer">Serializer
</a><a class=
"permalink" href=
"ion#Serializer">#
</a>
384 <p>Serializer
<em>interface
</em>, used to customize
<a href=
"ion/serialize">ion\serialize
</a>()'s behavior.
</p>
386 <p><em>interface
</em> <a href=
"ion/Serializer">ion\Serializer
</a></p>
391 <a href=
"ion/Symbol">Symbol
</a><a class=
"permalink" href=
"ion#Symbol">#
</a>
394 <p><em>class
</em> <a href=
"ion/Symbol">ion\Symbol
</a> <em>implements
</em> <code><a href=
"https://php.net/manual/en/class.stringable">Stringable
</a></code></p>
399 <a href=
"ion/Timestamp">Timestamp
</a><a class=
"permalink" href=
"ion#Timestamp">#
</a>
401 <p>An ION Timestamp.
</p>
403 <p><em>class
</em> <a href=
"ion/Timestamp">ion\Timestamp
</a> <em>extends
</em> <code><a href=
"https://php.net/manual/en/class.datetime">DateTime
</a></code> <em>implements
</em> <code><a href=
"https://php.net/manual/en/class.datetimeinterface">DateTimeInterface
</a></code>,
<code><a href=
"https://php.net/manual/en/class.stringable">Stringable
</a></code></p>
408 <a href=
"ion/Type">Type
</a><a class=
"permalink" href=
"ion#Type">#
</a>
410 <p>ION data type.
</p>
412 <p><code><a href=
"https://php.net/manual/en/language.types.enumerations">enum
</a></code> <a href=
"ion/Type">ion\Type
</a> <em>implements
</em> <code><a href=
"https://php.net/manual/en/class.backedenum">BackedEnum
</a></code></p>
416 <h3 id=
"Unserializer">
417 <a href=
"ion/Unserializer">Unserializer
</a><a class=
"permalink" href=
"ion#Unserializer">#
</a>
419 <p>Unserializer
<em>interface
</em>, used to customize
<a href=
"ion/unserialize">ion\unserialize
</a>()'s behavior.
</p>
421 <p><em>interface
</em> <a href=
"ion/Unserializer">ion\Unserializer
</a></p>
426 <a href=
"ion/Writer">Writer
</a><a class=
"permalink" href=
"ion#Writer">#
</a>
428 <p>ION writer API.
</p>
430 <p><em>interface
</em> <a href=
"ion/Writer">ion\Writer
</a></p>
434 <div id=
"disqus_thread"><button id=
"disqus_activator">Show
<span> </span> Comment(s)
</button></div>
436 var disqus_shortname = 'mdref';
437 var disqus_identifier = 'ion';
443 <li><a href=
"https://github.com/m6w6/mdref">mdref-v3.0
445 <li><a href=
"LICENSE">© 2013-
2022 All rights reserved.
</a></li>
452 <script src=
"index.js"></script>