erlang term format
v0.1.2
Decoder y codificador PHP para el formato de término Erlang.
Por defecto, el codificador codifica cadenas numéricas como Bigint. Este comportamiento se puede cambiar pasando Encoder::ENCODE_DIRECT_STRINGS_AS_BINARY al constructor, por lo que todas las cadenas directamente dadas a Encoder->encode se codificarán como cadena. O para codificar siempre las cadenas numéricas como binarias, pase Encoder::ENCODE_STRINGS_AS_BINARY al constructor.
Instale esta biblioteca a través del compositor usando
composer require obsidian/etf
Ejemplo de decodificación mínima:
use Obsidian ETF Decoder ;
// the binary erlang term format string (#PID<0.81.0>)
$ binary = base64_decode ( " g2d3DW5vbm9kZUBub2hvc3QAAABRAAAAAAA= " );
$ etf = new Decoder ();
$ pid = $ etf -> decode ( $ binary );
var_dump ( $ pid );
/*
class ObsidianETFPID#6 (4) {
public $node =>
class ObsidianETFAtom#5 (1) {
public $atom =>
string(13) "nonode@nohost"
}
public $id =>
int(81)
public $serial =>
int(0)
public $creation =>
int(0)
}
*/Ejemplo de codificación mínima:
use Obsidian ETF Atom ;
use Obsidian ETF Encoder ;
$ value = new Atom ( ' hello ' );
$ etf = new Encoder ();
$ binary = $ etf -> encode ( $ value );
var_dump ( $ binary );
/*
string(8) "w║hello"
*/http://erlang.org/doc/apps/erts/erl_ext_dist.html