Output
Once you have created a Bag value object, you can access the properties using object notation:
php
use App\Values\MyValue;
$value = new MyValue(name: 'Davey Shafik', age: 40);
$value->name; // 'Davey Shafik'Casting to Other Types
Bag supports casting to arrays and \Bag\Collections using the Bag->toArray() and Bag->toCollection() methods.
Both methods will apply casting and mapping, as well as respect hidden properties.
JSON Serialization
In addition, you can serialize a Bag object to JSON using json_encode() or `Bag->toJson():
php
$value = MyValue::from(name: 'Davey Shafik', age: 40);
$value->toJson(); // {"name": "Davey Shafik", "age": 40}
json_encode($value, JSON_THROW_ON_ERROR); // {"name": "Davey Shafik", "age": 40}Both Bag->toJson() and json_encode() will respect hidden properties.