erlang term format
v0.1.2
Decodificador e codificador PHP para o formato do termo Erlang.
Por padrão, o codificador codifica seqüências numéricas como Bigint. Esse comportamento pode ser alterado passando Encoder::ENCODE_DIRECT_STRINGS_AS_BINARY para o construtor; portanto, todas as strings diretamente fornecidas ao Encoder->encode será codificada como string. Ou para sempre codificar seqüências numéricas como binárias, passe Encoder::ENCODE_STRINGS_AS_BINARY para o construtor.
Instale esta biblioteca através do compositor usando
composer require obsidian/etf
Exemplo de decodificação 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)
}
*/Exemplo mínimo de codificação:
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