tests: Add example values from spec
Is: Fix implementation
Int: Fix implementation
PHP implementation of BARE.
Work in progress.
BARE primitive
: BareMess class name (php default type).
uint
: UIntint
: Integer (int)u8
, u16
, u32
, u64
: U8, U16, U32, U64i8
, i16
, i32
, i64
: I8, I16, I32, I64f32
, f64
: Not yet implemented.bool
: Boolean (bool)enum
: extend Uint, defining constants. (e.g. example/Department.php
)string
: Str (string)data<length>
: extend Data, defining BYTES. (e.g. example/PublicKey.php
)data
: Strvoid
: NothingAll primitive types provide the following methods, which can be used as follows.
use BareMess\U16;
$dayNumber = U16::fromValue(366); // Create object with specific value.
$dayNumber->set(365); // Mutator
$mess = $dayNumber->mess(); // Convert into BARE message format.
$day = new U16($mess); // Constructor mutates the $mess parameter
$day->get(); // Accessor -- returns 365
class Data2 extends \BareMess\Data {public const BYTES = 2;}
$mess = $day->mess();
$data2 = new Data2($mess);
$data2->get(); // Will be equivalent to $day->mess().
optional<type>
: Not completely implemented.[length]type
: Not yet implemented.[]type
: Not completely implemented.map[type A]type B
: Not completely implemented.(type | type | ...)
: Not yet implemented.struct
: WIP, extend Struct. (e.g. example/Employee.php
)