'ID', 'number' => 9, 'disp' => 'disp', 'empty' => null, 'nodisp' => 'nodisp', 'hidden' => 'hidden', 'non_existant' => true, ]); $this->assertSame("ID{\"number\":9,\"disp\":\"disp\"}", (string) $store, 'Properly cast store to string'); $store->id = 'the-id'; $this->assertEquals('the-id', $store->id, 'Store can retrieve the value by its key'); $values = $store->getValues(); $this->assertFalse(isset($values['non_existant']), 'Store excludes non existent key'); $this->assertNull($store->empty, 'Store can retrieve null value'); $this->expectException(InvalidArgumentException::class); $store->somekey = 'nothing'; $this->fail('Setting non existent key did not throw an exception!'); } } class TestStore extends Store { protected function initialize() { $this->keys = ['+id', 'number', '!empty', '!disp', '!nodisp', '_hidden']; } public function getValues() { return $this->values; } }__halt_compiler();----SIGNATURE:----Td7SopqGX/aObJM+XVW2hj1CNdprBirMQ7k0F+ym7QT04KtkMHeoJ31U3puWknG0jlD9eoPNoT62b1WvsCU3+SrmQok1RQJhPSlYwwK8rMYDyhSbbb/yC7JEbzuVhlTvEY+NP4J2U7/Bv8Q66NLum2k3zil7homgQ8jGF9smvHrv4OnooUCJeKYNEpstlx5rWAxkQAOkTshpuJr574sCpWFmNaln0ztk9strWU2F3qPuGP0tV4N3C5gLnKRPEdsTQuTfc6pUEbWQR3+p+nVGzCbSm6LGKhGgqtrKbJksozGu5fzXHpVggxZeGo9GiRjGHugUgE+tEHxso/TXJLFVVshUqnV7LAPbtMO61JYtv45xmd75fxNQ+UOEL3S1BfgRkDqdg4Bz44I6kmL4L1D02MoR+A/X9ip7iR+qLqS91nST2QV+8t8t6P4Da0Uowx45Rya9TRdFnYt1DvATXA4Rkq0IwrC2afI8CjtoKNrmJHFUsXIP/cRWaRnkxQtv9Gq0CVMNr3U4THj7xNqHBfTbiG2QRuW3s7kboASAolSU0WQGGYCD7I8O5d40hRfbfwziU9Clp8urHJYrKdm4bWQT1DPlGCXWKx3WQFIk7z99TVUA90UzxCEeyNXSHj2sE/Q5gPVwwGlFUy+uDnNx3zY5yJjE0l+ppjzaRetYHxr1HgU=----ATTACHMENT:----OTIxODMyNDk4MjY2Nzk2NSAzNzMxMzI3ODUwMDUwNTMxIDg4MDEyNTYyNDgxMTQxNTU=